|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : c( s! ~* {( w/ y8 E$ m
- R2 u8 q y! \; {+ A火狐插件,用猴子
% i1 n2 g' k# r7 p0 {& P( @ d" a. J" w3 x
var debug=false;
: |- P9 t6 J. l5 L- w, ~var CleanHideObj=new CleanHideClass();
& X" M5 w) r( O" j0 O' Z1 ]6 G; ~" s. |1 \# w0 @
function CleanHideClass() - I8 i4 N0 c0 O t* B, S- e5 X
{
7 w* t: \! j. b 8 x9 Z) }7 W5 C2 C" x8 u0 x7 B
this.on=function(id,bMZ)2 J$ o$ c" }# W$ Y+ z$ e
{
`$ X' l( `2 d8 H, G4 o. C * a$ h( u6 T2 W
if(id == 0)/ ?" F2 g3 F4 a( `" ]6 w/ Y8 p
{$ G; \* M+ ^# }* }% U/ E0 W
var page=/* document.getElementById("content").contentDocument */document;
1 k: M; {1 T/ W this.RemoveHide(page,"span");
% v% ]. g8 k8 @6 V( p% t, |) p& s1 q this.RemoveHide(page,"font");
4 R) ~0 E8 w4 n: z" F1 R this.RemoveHide(page,"div");
+ t* P5 T$ J9 v2 a" P, b this.RemoveHide(page,"p"); ^# v2 K; a, K, o5 b) L5 d0 J
* Q# e2 Y# ?8 j+ n) M, p/ d: k
}
- G3 V% P X7 k4 ?2 H, e' {- U 8 r5 P, f1 [! A/ M* p$ _+ U2 `
}
! N0 D3 ~0 D1 Q+ @- D6 K. x" O this.getobjstyle=function(node,prop)5 }- C: q" V, h* [" n% V" }
{
G+ X' m6 f2 Z5 [$ g& Y try( N9 Y% f, ~1 d# M# J
{
" C/ N5 L9 f7 K8 o q5 m return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 f# u! D5 _# Q4 g7 l" Y
}4 W/ N0 }* |, @/ u9 k2 u: z
catch(e)7 n V' d' V+ |; V
{
' ]0 f9 ]8 w: y if(debug); f7 K: I7 i% S8 R3 _
{ U+ @9 t2 }7 ^' h8 y- @
alert(e.message);# c" c1 n" K/ x/ w
}+ L% t: b9 [9 e3 v+ @" Q; L/ r
4 q$ u% Z& T6 }" ` return "200";' @3 F5 C& G q7 S# c
}- v' _0 N2 L0 z* [" K
}9 I9 {6 ?; o; U3 O" }7 Y
, b6 M/ F0 t" p' A1 y1 t
this.RemoveHide=function(page,objname)6 `. l& I6 {; f
{
! `2 z$ g D7 `0 Y+ O3 P/ H try
3 T: v, Z3 F6 T1 T3 ]# r- U {; u% s, H" I( h& w: n1 V/ Z6 V
var minValue=15;
% U: K7 z$ x, e% Y+ u var objs=page.getElementsByTagName(objname); + R1 C+ d. u( E; }, }
4 i4 V4 x% z+ I& a& o if(objs.length == 0) ! R. w: e6 t/ {+ ^& c! M( G
{- {$ [" A- V z! Y0 i+ `! m
if(debug)
. p4 V* b& E3 _/ d {/ W1 A7 b( f$ \2 t6 @
alert("no object found!:"+objname);) t2 s: f+ L1 \
}) Q# T" u' f( E4 H/ H% \5 g- f
}. P/ A! I& z' m/ e5 n
else4 E) W+ ~: v7 Y! f5 G) {# \' V
{& m7 E8 N8 d( A) {7 c, q
# i, ^% ]4 {8 ^" B0 [8 K for(var i=objs.length-1;i>=0;i--) 7 e! }+ s3 t& S( ~$ |. V/ c
{* n" h2 U& ]$ W" X7 X
var node=objs.item(i); , |; A6 A5 N! k& k" f# H+ g5 q
) N5 K# o$ B8 @. ?4 }) v
# P0 o1 n& }" u; j if(this.getobjstyle(node,"display") == "none" ||1 @8 b9 W3 c' c
this.getobjstyle(node,"visibility") =="hidden" ||) w3 B4 _) U, Y1 F( p- R
parseInt(this.getobjstyle(node,"font-size")) == 0)
1 A6 A. W' t* c2 i/ O {
" z0 V5 Z$ ], F# ~7 D if(debug)
- q, p* z, N0 e {
6 r! e- o$ n5 d5 s# M alert("remove invisiable!");9 T9 F+ ~( e! ]' ~" Q
}
2 p* x. Q+ s: Z# \ node.parentNode.removeChild(node);
$ H! S( ?# M1 b& Z9 E' |& w+ n
8 q2 r G/ ^+ e3 s! k8 v& E+ d }
F% W- e( a* P else
8 ]* D, \$ z* z; { {
/ ^2 `" y2 w5 K4 d4 h0 h$ a, b1 U+ _ if(node.parentNode)
5 l* n# y X9 ]8 u [ {
7 X7 x; S: w0 N9 L4 h# E var orgNode=node;# I2 o- d+ W! P2 n6 f# g
var orgColor=this.getobjstyle(orgNode,"color")
2 B8 R* [1 o$ c1 p: i var orgRGB=getRGB(orgColor);
- ]5 z5 n6 y+ z8 ^. ?- v2 i3 q
- K% e6 O0 U8 |+ t var parentNode=node.parentNode
9 ?$ i" [/ B* r9 @5 t9 f var parentBgColor=this.getobjstyle(parentNode,"background-color");- B! L0 X3 X1 T( {: M7 m
0 X& z) s; V. ? P' G# @+ Q
var isLast=false;
) s( b* l+ t8 E4 X( Q* m/ u0 g
8 P0 m. ]0 ~+ W- i: d while(parentBgColor == "transparent") & W+ S! R3 m% @" G
{9 [. ~7 g* R8 G& p6 Z% o; X5 S
( ] q: c. ?0 |* K: m
# t% p' ~# _7 ~( q0 C if(parentNode.parentNode == null)
\5 C/ E& A/ W* \6 q$ i z# O {
& F) E! R j$ P3 o isLast=true;
5 l9 R9 W* Y4 e! C6 `0 }3 ~6 K! k5 U break;3 v. j* b/ \! j# |4 _
}
' r0 j I! P4 ^) w parentNode=parentNode.parentNode;
# W/ q4 C' B/ B9 q& k! l parentBgColor=this.getobjstyle(parentNode,"background-color");& |& s+ p5 E5 K6 J: k
- t- e# J. ~: P# J; s) D if(parentBgColor != "transparent")
0 f y% H* A5 @, x {' i2 A- ~7 f2 ?- A& `) \& |
break;
# s4 g) X; I! H# R' }' Z" A }
. {% l8 U4 m/ v8 e$ A3 Y }
/ N, Z7 i* W7 @3 C if(isLast) * Z: O# O) }, N8 P& [2 x
{0 e0 Z7 }# Y, J! J" ^6 d
if(debug)
- p# F* O+ d6 u* ?" O- j) F Z* ]# T {
: f- R. ]. d. Z2 ?* i- s( h* F( \ alert("last!!");
0 d/ M4 L% w: c A" l+ n; P- h }
/ P$ ~+ [. x& X5 p' b- `$ ^ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" w% i8 _& ^; Z* ]
{6 b1 r. U1 U5 d7 U/ _0 `( ^ x
orgNode.parentNode.removeChild(orgNode);
! F7 h/ I; x( q( L }
$ T) ^: B' e7 _/ q! u }; y! g7 Y& R9 g7 o
else% O" V6 Y. j& @1 H/ x
{
$ t' d f8 e9 e- g if(debug)
5 n# g1 C& ?0 z v {' P$ O; _. J' J& S+ ]6 l/ |4 w v! w
alert("compare color and parent bgcolor!");5 M" X; C/ w7 S$ h% u ^1 d
}# D2 X! y$ y/ V/ r
parentBgRGB=getRGB(parentBgColor);
" b; k6 Y8 Y* J2 o2 O4 a if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- H& k: Q4 S' _% A ]
{
9 D+ ^1 x# |3 ~& ?3 V; I1 m1 ` orgNode.parentNode.removeChild(orgNode);
2 x4 B$ l- E& @6 _ }7 j5 j# L: o3 f! R, s0 b
}, \8 e3 R- P2 Z( O# m9 s
}
5 \; b' k$ N; R5 M8 @ }! _& x" C+ |( Y$ s+ @5 v& ^
}
) y3 G. n& @5 ~- l# u" i) C }, b1 d5 e4 X) d1 G6 b* i" I
$ R1 V: o% O% e( t5 A. R" t/ l / z* S" t+ N4 \. _8 R9 j* U$ w
var itemFrames = page.getElementsByTagName("frame"); G9 o& x- U* F( t z
var itemiFrames = page.getElementsByTagName("iframe");2 |) s! g9 u& N, w' s' t' y
# d3 V. c1 ~4 W* B' C7 k# \ var frame, iframe;
0 r- }+ }, O- E if (itemFrames.length > 0)
, i( l0 I6 _) e {7 n6 o0 R$ U6 c
for (var i = 0 ; i< itemFrames.length ; i++) 7 b% q" b- r# ]2 m; Z
{
0 n7 e5 ?. `8 ]. T frame = itemFrames.contentDocument;2 ~) ]1 A6 D8 M1 s3 N4 _, k
this.RemoveHide(frame,objname); 7 z* y! j' D" y/ L V% d3 |# u
}
% i& c# \. ~# V' `3 _, x }5 Y) {) A" k/ i
if (itemiFrames.length > 0)5 K z* W8 p( B% O5 G
{
* `) k* \" ^* H5 W for (var i = 0 ; i < itemiFrames.length ; i++)
7 E6 X1 p; {* w% M7 U {
* V6 G6 ] x& m c iframe = itemiFrames.contentDocument;
! s0 { p# ~% P# l this.RemoveHide(iframe,objname);
$ R8 d' y6 a$ e. m1 Z9 r) @& E }
8 ?, u; Y& }+ m( Z4 | }3 T3 D) a' r. e% R: R) T3 X) O
}
- O9 O+ x% M( v: A: C$ G, G. m' d catch(e)
/ r9 X9 T2 L- J7 {- N' C {2 p" w- o/ @- ^% D
if(debug)4 Q) N5 I9 z8 Y) \6 w4 F
{& t; t- Q |& w/ F( U% @$ v: }
alert(e.message);) F) J5 {6 o5 r# }9 A f
}
9 v6 U8 Y& A0 T+ a, g }
- ~; M+ {; { {) z N5 ^ }. {* z- ^" t6 K5 @$ d
. A' r8 q0 F+ i9 ]3 @% |! Q
}
0 I# `; i* e# U. k, g5 O
$ A% q- ~$ }$ K4 p* K, Y& \- Pfunction getRGB(colorString)
" v$ h! G }+ m# o: f1 u: ~{9 T3 r( j' W( N2 @- R/ l
var RGB = new Array;
- O- |! g3 S' V. F. w var tempSting=colorString.substring(4,colorString.length-1);- O z$ N4 P, \( ~$ o
var tempArray=tempSting.split(",");
1 G4 @2 u$ s& H* g4 S% O, q( A# D$ |5 b; j& m' q, G1 U
RGB[0]=parseInt(tempArray[0]);
- A' V' x: h: g% Z$ M RGB[1]=parseInt(tempArray[1]);1 y8 r- ?; I0 K
RGB[2]=parseInt(tempArray[2]);9 u$ X4 y0 M0 W8 |$ w
8 n) I8 q! K9 s8 V# c+ ~
return RGB;
3 l2 E8 ?. U. P. S3 r3 E# Y}2 O( D% ^. h2 v: R) q/ T k. u
function keys(evt)
! P5 p: |2 b1 m4 r" N {
% k) [! L' F9 E; d! W if(evt.ctrlKey && evt.keyCode=="81") " C8 B' r- a. n; ]# P" V2 m: K5 ]
{ 2 E4 e' T5 u. ]
CleanHideObj.on(0,1);: @, f8 m8 ~/ Y. `* u/ ]$ z* {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& C$ K6 j* p) T/ m , _- |' p {" j4 `# C6 E
} 7 r" b0 K3 ?% K, Y2 o/ G- |
} 8 l! `; d. ^7 M( E
document.addEventListener('keydown', keys, false); + L! g1 T& g" a3 Z" L
GM_registerMenuCommand ('Clean Hide',) S: I0 Q( u) @# ~- z
function(e){) w% d3 v, k! ^( O' |' ]
CleanHideObj.on(0,1)" l y5 V8 e$ L F8 y# r0 X- r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ \' D, c5 ]8 v( y7 b3 J. j});8 `- Z. a' j: K% a/ u L. Q
|
评分
-
查看全部评分
|