|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * X: i5 v! @. r. F/ f
+ c2 t7 |6 o. |, m' ~# B火狐插件,用猴子
& A9 g5 `& F3 T% o4 [
7 g M! \: ~0 {) Gvar debug=false;
4 Y) w/ f% T( Z, vvar CleanHideObj=new CleanHideClass();$ ^9 I/ k# Y- C' {$ l
, c. x) j" N7 ~8 V& t3 Zfunction CleanHideClass()
; \1 z$ d; T. K' L/ i7 m4 W$ E{ ' Y: Y; ~) q& z8 t# {/ r' v
& F. k5 O& {4 n% d9 v9 h this.on=function(id,bMZ)0 A& ^% w1 f0 }4 r7 D7 a
{
8 ~: Y" F; H$ P$ S9 f( W 6 e# ^9 \% D* n1 U8 [) c4 m
if(id == 0)
( e( a: `3 K; z+ M" M5 ?; n# S {7 g- r4 }% Y/ T3 u. T* h2 I0 M
var page=/* document.getElementById("content").contentDocument */document;
% r$ U4 _( C# E& Y3 q9 P this.RemoveHide(page,"span");# W5 W, y+ b$ P% i* J# O( { m
this.RemoveHide(page,"font");: y) s" h# E2 ^: A
this.RemoveHide(page,"div");+ f- x% |0 S7 ?) B Y) \# ]
this.RemoveHide(page,"p");$ k8 I9 V: `1 @
' L/ P8 d& L* U1 Q5 Q }
+ o3 W1 a" d3 N4 r! P ; }# z3 v# R8 J. v, S! j
}/ I8 T- H, B( @' r; {0 m; ^! u+ ^
this.getobjstyle=function(node,prop)3 U4 d. ]+ Y/ z- Q6 ^" _
{2 m9 l1 v/ f3 E' B( u2 q
try
3 V* }1 O8 q! L# z% n) Q U {
! E: n: ]" T) I. g: \; I g) h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# U- e, A2 O$ h6 o0 k, K
}
! V# B6 P N0 B! j- u# A5 X catch(e)
6 n& g7 H+ m, x1 \ {. b% l7 t) l" ~/ y
if(debug)
( K' |5 M' e, M4 k; j( p( ~! g {1 {4 i& J3 @8 J; B# Q* e: H
alert(e.message);; C% \) N0 B. G% P. C1 e: n- M
}3 Z# R/ B3 u% F/ |
5 u/ |% k+ S m4 I j$ ?9 E9 z! K
return "200";. I+ f3 H% y6 p
}
. q9 \4 f5 O) V) v }
( Y4 H- }: Q# b g* k
2 d4 [! f2 Z7 i' H+ ^0 x$ h this.RemoveHide=function(page,objname)& l# C; t* b/ I: m: U
{
0 i- T( P2 f3 n try; z" E! h0 |5 V8 n+ E/ ^
{
; p& s p8 z$ j! M6 B var minValue=15;
% u& Q3 v, D/ ? ^ y var objs=page.getElementsByTagName(objname);
/ r% f/ ?/ D$ ]% a7 w0 B$ G; n3 T* K7 _
if(objs.length == 0) % I& L/ T) S$ G% o4 X8 q) L0 Q
{; [& G3 @# b* w0 t# T( R. H8 E
if(debug)
& q+ {% G R' l {
% A7 A( k& J% Q4 c1 O& s$ i, y& N h alert("no object found!:"+objname);, L+ m5 u2 X! T' H+ w9 N c
}
' Y# ^; v' m8 D }- x) D+ y! l. u2 ?$ f( p* U
else
0 u6 u' {3 I9 @8 z {+ _4 m: f2 m. d. n( \4 @
6 T! w, Y4 ?# w8 i0 f, o5 J
for(var i=objs.length-1;i>=0;i--) * @, `' L% F5 l4 X1 K2 e
{
# h8 O0 p7 p) @3 ~7 |0 P$ y var node=objs.item(i); " }1 X: _& h) Y" h
N; T6 {+ u2 a) E& R8 q7 M8 u* \* H3 F
0 b o6 [: H7 H s% y3 k0 \+ Z0 r if(this.getobjstyle(node,"display") == "none" ||
4 d: } _6 f5 x+ n) p+ [, [ this.getobjstyle(node,"visibility") =="hidden" ||( W7 x+ X9 O3 B: `* [+ g. u
parseInt(this.getobjstyle(node,"font-size")) == 0) / v( ]( l# E: F n) O( D6 Q
{
- A. {+ i0 h( n8 ~! n+ Y# \9 F if(debug)5 k! x* ~5 c) H3 L' f
{& [% O# O/ F0 X/ C% G, ]
alert("remove invisiable!");
3 g0 A% A7 l2 S4 i }1 k: b+ s2 [5 L0 _& R0 X. z2 d
node.parentNode.removeChild(node);" [4 [! e) a& V5 k! H
, @- r$ R4 ^* {/ F8 J a! c' _ }. @$ Y! X; m9 Y& x3 k% P/ D' x$ P
else . j3 `: z* a y+ L% }$ Z) v# G
{- J) l2 t. t: P4 w4 o8 b# i b, D
if(node.parentNode)
! ?! N- ]3 l' o9 P5 R0 w {3 T! S1 A$ ~$ N) h8 e
var orgNode=node;
! w# T8 k2 c, d: F: G0 H. r) R var orgColor=this.getobjstyle(orgNode,"color")
& ]% l0 ~6 S) b$ l. P: F$ A5 S8 f% e var orgRGB=getRGB(orgColor); 6 }+ H1 _# p: q8 G% |! r
- |; E' R3 @- B$ t& |) f+ B
var parentNode=node.parentNode2 G7 O7 f. p* z: R9 q6 R+ }
var parentBgColor=this.getobjstyle(parentNode,"background-color");/ t' \9 Q0 o w0 ~0 ?, ~$ p; Y
' ~* c! t' Y. s% D* R0 Z+ R1 l var isLast=false;
8 R! |" @5 h8 Q 4 ? Z) ]" `. \7 W6 J
while(parentBgColor == "transparent")
: y4 i, U( O9 H- f3 V {! X+ h. S2 E% z! [$ O
( ]2 `" R4 p1 K3 C / e& b7 b+ B3 }) a# i! Q% w( _
if(parentNode.parentNode == null)( R( b5 ?/ j \. s' ?
{' h$ b$ w2 Y8 ^9 Z
isLast=true;
" D& z! i& `) ?( e& F break;
) D& t/ h6 d$ S0 o" b9 ^6 d" f }
/ B/ d6 `& R" V8 I( p1 Z parentNode=parentNode.parentNode;
* f p' A$ o; w0 K, U; Z% R: j" ] parentBgColor=this.getobjstyle(parentNode,"background-color");. V: X; F8 T. r7 y" ~; P
+ R( A: U/ z8 U% w4 n4 V: j& a if(parentBgColor != "transparent") , z/ ~1 [; U* T7 \; _% Z* ?. |
{' \6 F% H, ^1 t* v8 ?
break;
+ q q; e( C5 K+ w, p$ z# V) M' N }# K8 b" f9 i$ L2 S$ Y- B
}# N1 y6 Y1 r6 O3 B) j- n
if(isLast)
( E& k' T' F- M9 d6 I* v {
) \4 J- ~- Z6 H/ Z7 s if(debug); i5 h: f/ N4 C* E8 L( ^, `
{
4 Y% K: j0 q( r1 J' ~5 H alert("last!!");
/ F/ | c( g1 V$ s+ N }
) |( b [* k: f% g4 F$ Z6 k9 b if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))0 L. y/ p# J; j; I
{
0 _8 y6 H# G T0 G) v orgNode.parentNode.removeChild(orgNode); 0 {3 I& n3 r' Q' E' s0 ?
}9 B8 a ~; u7 j
} I) @4 f+ O% w2 ]/ P
else* x/ a7 ]- {" e$ M( l* W* f
{. X: I. A2 F! N5 y f4 h
if(debug)
# {- Z. ^: ~; a* z+ ]( @ {
- T# B8 g1 U. M$ Q- X alert("compare color and parent bgcolor!");: k# @9 O# G9 `& g
}( ~! l! A5 ~& I, x5 Y* T3 O) r
parentBgRGB=getRGB(parentBgColor);
4 q) S) {) V: \+ c0 i; w8 n: R if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 P$ f0 {# [* g- z4 j4 ]3 \, [3 _
{: Q& L7 G- |: b4 Q
orgNode.parentNode.removeChild(orgNode); . _; X m0 p$ T7 M5 v- ]
}3 x' K8 N" H# z* e' r* a. Z
}
0 z# V+ A+ w7 M, {! W/ u }
" r# G2 u: B1 _+ N& d }& w: u, J N4 r7 a+ R) i
}
! b5 X' P; E+ }4 h7 A0 E3 F }9 Y( K( F* o" U1 ~# j" y: B
4 M9 r% C5 X+ x; ~1 I3 V8 z 4 W& j0 e) t( w6 V+ S
var itemFrames = page.getElementsByTagName("frame");
. ] J5 s9 S: H% L4 M var itemiFrames = page.getElementsByTagName("iframe");
2 ?5 O4 I( h Y, s8 Z2 l. T. p% B
U% A: j; N0 z7 Y( o var frame, iframe;
; T, S! p7 k+ h! Y% o if (itemFrames.length > 0)- K/ a, Z j8 ?- z7 O/ ^( Z
{
- j. t: u3 P% u5 W! F8 C8 O for (var i = 0 ; i< itemFrames.length ; i++)
7 t5 i# ?6 D9 G8 L { ^1 S0 v+ T. E
frame = itemFrames.contentDocument;! U' @" q( H& v2 k
this.RemoveHide(frame,objname);
. Z' w Z8 z6 K8 A; k }! H( c7 J, z+ n- Y4 Y6 B
}1 V( Z7 U7 |9 C; U4 Z
if (itemiFrames.length > 0)
1 B" H, S) ?6 @8 p {; D B; X3 S6 Y( l/ h! D
for (var i = 0 ; i < itemiFrames.length ; i++)
% [6 i# k; X7 k1 e9 x {
4 Q/ w# t6 O7 Z0 H( R0 O% y iframe = itemiFrames.contentDocument;3 m9 s# o& c% ?6 G0 L4 Q) c
this.RemoveHide(iframe,objname); 8 ~, K0 _# e6 @" r& O- D! v8 \
}( c* a5 s" j6 p+ }0 Q0 y
}
k: Q# w1 ]! v% b/ P }
! c+ o6 L/ @( E$ e+ | U7 [ catch(e)
3 \2 b: I/ B1 ^; ^ l1 y {+ Z+ |1 e/ I' |
if(debug)2 E5 i% f( l' C3 ]% p! [: G! U
{
+ U3 }+ R) j9 a, b% y alert(e.message);
+ O1 p2 Z1 X! p! c/ n5 {( S; M }6 S( ~- B# `9 {0 A
}
7 z0 Q$ F c' |6 o3 J$ h0 I! e }# W: K j* Y d
: O* ]; W7 G/ c4 f" @}
( @) \9 k% |7 Y1 S( Q& `
: Z2 c2 m& ? D* s U7 Q; pfunction getRGB(colorString)
0 l/ l4 {2 `5 K: [. U: v" z{6 y6 V- ]+ p |1 p
var RGB = new Array;/ E, L2 a! K" G% }5 M8 {* N
var tempSting=colorString.substring(4,colorString.length-1);
; D# `& T: M4 h1 k* [9 e# Z0 S var tempArray=tempSting.split(",");
) p& l6 X& _6 E, J" J B: i" ~1 C0 G. E2 C7 n7 t
RGB[0]=parseInt(tempArray[0]);
+ L: A7 P+ C5 W2 D3 D3 O RGB[1]=parseInt(tempArray[1]);
, Q" l3 R6 ?; w" f RGB[2]=parseInt(tempArray[2]);. ^9 T$ H& B0 O" C8 s
: b3 p4 N6 P6 A6 [" ?. q
return RGB;: U# i, m7 w' e! \
}
8 v7 L: |5 g2 D) Wfunction keys(evt) , I3 l% V& m0 G: b) J
{ $ K; _. H" O8 l
if(evt.ctrlKey && evt.keyCode=="81") 7 d+ p) z1 M( ?* |+ N
{ 0 E& O) l [4 K' k" W! p
CleanHideObj.on(0,1);
: r2 Y! ^5 e( e* ` alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); / U: k) e) z, O# Q- G- T
% e5 ~$ Z) ]7 t' G
}
8 k9 L' l, T: Z1 m7 m) v }
0 j4 y# j# G% P: H+ N' s7 qdocument.addEventListener('keydown', keys, false); 7 Q' q+ L' v/ v& _0 ]# y4 n7 `
GM_registerMenuCommand ('Clean Hide',
% f/ C! {, H8 lfunction(e){- J' `% f& f( e* e* j% t. Z; y3 C9 X
CleanHideObj.on(0,1)! A* m% c# y* [$ M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 d0 e8 U/ W9 Y) {});& Z9 @9 T, [' i+ l- u+ T
|
评分
-
查看全部评分
|