|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 w1 Y- I/ [8 h/ _3 M2 S' b# T7 [1 M g+ s$ o
火狐插件,用猴子
0 J1 D2 v9 S: ^$ m/ _; t& Q
0 @% F4 }, @0 E; ?& K, F5 G0 vvar debug=false;
" N) W. _5 F$ f8 t1 P/ g$ Mvar CleanHideObj=new CleanHideClass();& v4 ^- Y ^7 b" u( E, o' `
/ U4 Q8 {) L# X2 I! ` d# [4 E
function CleanHideClass() ! W3 Q8 [* I) g4 B% O
{
/ w4 l& M, c/ X6 X C! t: ^& P2 e
this.on=function(id,bMZ)
2 E( M' g4 [5 ?( l( q8 W {
( d7 J6 u _; K. B1 D. w. y . r. b& H; ]7 R& \9 }' S
if(id == 0)
( `- k8 A1 g# y {
- K U6 D1 |/ \0 K+ o0 N. i3 g var page=/* document.getElementById("content").contentDocument */document;
4 f8 C' ~, l9 B& L7 j this.RemoveHide(page,"span");
- P' l O, ~+ b this.RemoveHide(page,"font");
% @2 j: x, {' R; X& p$ V this.RemoveHide(page,"div");
) E; E, ?* U5 i% f0 S% f6 H this.RemoveHide(page,"p");: X) E8 c8 C! {! K
2 r0 A+ L, X; q5 `) K4 [8 ^
}
8 Q; m7 a4 i/ T, Y! S' U) X
5 S& c. [9 n- R; j& u' w }
+ O v, X) q; L2 X" [) X' _ this.getobjstyle=function(node,prop)
1 b6 `4 S' ] m o {4 X# t3 i6 Y% E1 S1 u4 n# p' I! W
try
0 L- ^4 n) y5 U; B {# s4 ~6 `" z' E( A$ _$ f
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
) j2 R* p* ]8 x4 [" l6 X0 p" C# Q% @ }
, P0 D0 U( G' _' G. C/ h: ]0 P catch(e), O( a6 y! J4 I+ G
{
5 A! h2 `! E" g! E0 ^ if(debug): W7 X. I7 ], o: G7 B
{
9 `/ x$ [7 m4 f7 B5 n0 W: l$ F alert(e.message);. n7 U9 K7 D" M5 F9 ~6 K
}6 v6 f( S+ K+ W
0 F8 W+ s: [: R! Q0 e9 @ return "200";
0 D3 [4 ~1 }" O7 M' u% i }
$ |) ]! I; |# Q& M+ p3 r$ L" t( K }
6 s* ]7 X [) ]( _! Q. E " E( T# Y0 X* M( w0 N% V/ R" Y2 C
this.RemoveHide=function(page,objname)
& B% M! r7 G9 b+ [ {
' O2 u2 m, Y0 \; r2 u: D( V+ i try
) a4 \ T( X1 q# r) `/ \ {2 a- k( A$ y$ c- ~2 z2 U
var minValue=15;
- _/ R" i( I2 m: A, {, D$ [" h var objs=page.getElementsByTagName(objname); 5 |5 i! J& {5 w$ b
" ?8 p o, F4 q1 F+ p
if(objs.length == 0) . o9 J" A7 s* p8 V$ [
{1 d$ F$ e: u9 _- y5 ^% B
if(debug)
: L9 c: h7 S0 I4 T: Q {
9 Y: r3 t6 _. f! a: e1 T alert("no object found!:"+objname);% [- l. R( P5 u7 K' n7 b# `0 c
}1 l. U: O+ x. J+ {
}; A- W# L" J8 u9 w( O* S& M6 G9 [6 a
else2 k/ i6 I F3 C" r; P; h
{) P; D0 u H0 A6 u# h2 |7 U. @
, i% _+ c: w, t3 \" V3 V( C! m for(var i=objs.length-1;i>=0;i--) ; I" j4 f' a" o! d. y5 l
{
) I: a H- B# E% Q var node=objs.item(i);
8 ?! ?; S" @; N1 D4 \
% M% m( @6 Q8 u7 L4 a! W- J' W9 C5 y # m; W* `- L; U7 n4 M
if(this.getobjstyle(node,"display") == "none" ||8 g. |# {/ |) K9 {: \1 [. P O& b
this.getobjstyle(node,"visibility") =="hidden" ||
1 K/ N g7 R8 r% g0 |* Q parseInt(this.getobjstyle(node,"font-size")) == 0)
e/ `4 d' n0 O% P1 d {& v; _6 J) O/ F" O
if(debug)# M1 ]+ {% C" [7 f7 L; g4 j9 _
{7 f7 A" N% c; ~% Y
alert("remove invisiable!");
g3 P) p8 k& b I4 A% @1 x3 l }
$ _8 F C$ L! b! x$ ? node.parentNode.removeChild(node);
J3 d* a6 J$ M4 l# f / y+ y2 l) v+ d# g- d. P
}
/ j9 e7 T3 @% I. v else $ \( F9 L) `; l! v. f. l* b$ ?
{; t! C2 h# ~5 p' P) I! T! B
if(node.parentNode)
& D6 |" O; C: i) k. @2 c; S2 x7 [ {
# Y3 p! |" g$ Z7 T var orgNode=node;
5 }, A, w3 [* Q4 H) p+ E var orgColor=this.getobjstyle(orgNode,"color")$ W2 ^( @* Y( Y1 z: H! `6 R2 p. n
var orgRGB=getRGB(orgColor);
; s% o1 w; \- |
" M1 X9 {: d8 l- C9 E var parentNode=node.parentNode
5 k4 i5 E8 j8 C% c5 h0 \& _3 k var parentBgColor=this.getobjstyle(parentNode,"background-color");9 ~ M! D6 D& H! N0 Z& K
$ `2 B& k/ K- ~& z2 ?% I, _ var isLast=false;
3 x% |: n% m/ [1 h1 [- F
8 g4 K9 Q6 I5 U# ~ P8 [7 l while(parentBgColor == "transparent") 2 R7 w" x5 I0 X& s: ]& j' l+ a" G$ f- _
{
. E- G6 _! K/ Z/ l2 n
! h6 e0 M. C' [, S m3 E& n) t9 I: _ 0 j% g& ^8 t. G( R1 r' q
if(parentNode.parentNode == null)0 ?/ o' j" A) U0 G
{
! e8 _3 Y; E. o isLast=true;5 ]4 L1 m9 s" q7 L7 V% a: B% ?4 B
break;
) J" D# V, r+ @, ?, K1 W! F }% J' V$ g q7 D
parentNode=parentNode.parentNode;
) s* o4 s: g9 u# J parentBgColor=this.getobjstyle(parentNode,"background-color");6 |+ |( a( ~2 ?+ S9 x7 U
a& j+ o& F1 v6 D4 T, Q
if(parentBgColor != "transparent") 6 u. J7 x: s8 \5 h; [( L
{ `" s0 j8 ?6 F# R6 ~
break;
* A' y7 Q9 _# I: |6 A' v }; d6 Z! u }2 L' G0 u- F
}
( }, F' Y9 E6 E0 N7 E; } if(isLast)
8 f* J0 {' a$ Q% q) r' h0 e3 R {1 g, U9 f- ~5 v0 H$ `
if(debug)
1 o) |+ B/ k! F& } {) u; q9 n: w# z) P5 b7 X) o0 u W
alert("last!!");. M& e; x8 `' p5 z
}3 S2 r( `7 D7 G- \# R7 Z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 \& x# b7 b8 o3 a {
" _/ A- m& P& W1 @ orgNode.parentNode.removeChild(orgNode); & l; V/ E, j# i* B/ w( |
}
0 h* [* N) ~+ y& ? }
W; m5 ?3 x- p! u9 U: Z/ K" X else
5 p" H" M; [% \2 ?5 { {1 Z3 \% C& w. b6 S# U, [* J
if(debug)
/ Q5 y; ?; ?8 Z* \: Q- s {
0 _" u! T1 k! t9 y7 ? alert("compare color and parent bgcolor!");
' |; \: h" m3 r+ a0 m l+ I: ] }+ B$ w) c, T/ A2 m- P' i+ g
parentBgRGB=getRGB(parentBgColor);( Z) N9 ?: [3 o6 W' i
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ r8 p$ e* Q5 R {1 C% S% R+ k/ S% H
orgNode.parentNode.removeChild(orgNode); * i" a" X, U' Y- X! z- a! D
}. e2 n4 u+ y& z% K- p
}4 H/ w; k9 G5 m9 M" P" O
}
4 v9 `/ s8 t6 J& \ }4 ^2 U# y. [. l- Q4 @& C4 G" n; V" z% A( B
}
8 f2 w4 {, N3 M: x" V q }
' q; ~# @1 ~. j! r% H
) c1 g6 Y: y. n 8 a* T$ m( M, B% b- D
var itemFrames = page.getElementsByTagName("frame");
; N \+ Z0 u. N' C7 l, `3 x var itemiFrames = page.getElementsByTagName("iframe");( q- ~$ ]4 \, F/ q5 E
& a- e1 X/ M& O1 H$ D
var frame, iframe;# R$ A) ~' O$ n: N% T8 K. Q" u$ q
if (itemFrames.length > 0)
; k) s5 X$ z. h9 `' `) u {" L3 y. h3 A4 J8 B
for (var i = 0 ; i< itemFrames.length ; i++) ) ]; z$ k- u! p# J( F8 o
{
9 d1 d. Y5 h1 ^5 T0 c$ \+ w frame = itemFrames.contentDocument;
. c# s; J- E) x5 _- Z this.RemoveHide(frame,objname); & `, R+ h: o6 d% S8 R, b& ^
}
, b5 b5 T" k* @, f8 s8 P }: O: o4 O3 ?2 w% Q* u& R/ ^( o1 K
if (itemiFrames.length > 0)
8 c- H. F0 f6 T8 A {* j N/ F; Y4 T) p' L4 T
for (var i = 0 ; i < itemiFrames.length ; i++) 9 M4 d" M5 k4 L/ {$ q m: {
{
; t4 x$ D( r2 ~7 C1 h iframe = itemiFrames.contentDocument;
$ |) @& K; o, V3 ^ this.RemoveHide(iframe,objname); ' I- r' f: M7 d; q. p+ U
}) ]9 H/ J# ~% e
}8 i- q# ~- Z7 l4 C* z' O9 A! ~
}
% U9 l/ W4 p/ y* d( F3 y9 t catch(e)
/ e" K% o0 y1 s% y {
' x! v B0 e) D, a; U0 i- E: A if(debug)- T, @$ J) x, n& g. L6 b- r: ]1 s
{8 F3 a+ ~8 M) o4 [6 m1 f
alert(e.message);
- [0 U; b6 a* K C* Y9 I5 O' A# ? }0 P7 x8 S8 K7 i
}$ r- j+ m( u) a2 I0 |
}
8 }# Y4 P* ]" }# ~7 S$ l5 k
. Y. Q, R# d2 d* l0 L2 o, V+ Y! o: k$ ?}
, l4 @% y$ w0 \! i
1 {: m% t9 Y# j- ~6 |: G8 w: cfunction getRGB(colorString)3 ?. u# M5 \5 a/ j0 X5 I2 g5 ?
{
& R6 T# `+ A! t/ ]. W var RGB = new Array;- O( c& y. e5 c+ N/ v) H" W
var tempSting=colorString.substring(4,colorString.length-1);
: W8 i& L$ K' B, u* u var tempArray=tempSting.split(",");. E3 S+ k# l- W( c- G4 ^( v; @
r; H( Y) B9 e$ I2 h) `! H4 S RGB[0]=parseInt(tempArray[0]);
# R p: m7 x; ]8 n: S RGB[1]=parseInt(tempArray[1]);& e7 h i7 t2 G/ |9 L9 g+ h
RGB[2]=parseInt(tempArray[2]);$ M" p' h1 N' S$ ~2 d
$ }- d9 u: B) _1 d/ U return RGB;, C/ F% `; l- s9 x
}
. F2 Z- F9 ~' n) o' y5 J" Hfunction keys(evt)
, i- w/ ~. r+ Z& r {
* D& ^, b. C8 s8 V* I5 i/ v o if(evt.ctrlKey && evt.keyCode=="81") " x5 j4 D2 z# z3 T3 O' I
{ 2 r. h) P4 {) S8 S7 h
CleanHideObj.on(0,1);
* J0 U0 S$ v& X, w3 Y& r+ D' \3 @3 u0 B alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% H5 u3 j+ n0 I: a0 e % A6 |! L8 i! {/ J$ N9 p
} 9 p# F% [. M4 u. m+ s
} ) d- |7 l* t+ T
document.addEventListener('keydown', keys, false);
6 Y; z4 f! \* S9 hGM_registerMenuCommand ('Clean Hide',/ S$ I. l5 L! Z; O
function(e){3 I$ v* J! S3 Z) t ?+ s) H/ [
CleanHideObj.on(0,1)* h3 b) Y6 j! d3 ~
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");6 z+ B6 q) S# V$ t
});+ {. C A) G5 q( q" Q9 t$ O
|
评分
-
查看全部评分
|