|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + D8 F% Q& {9 a$ l/ V) _0 F( n
( N+ X j) o3 q: Y火狐插件,用猴子
2 n0 g, f7 p. D7 L; M+ G- y; f4 k. y9 I2 v% f4 z* l
var debug=false;
- j8 S& B5 @ s/ v* avar CleanHideObj=new CleanHideClass();
- `8 G0 f8 N' v" x; L' X* V4 X/ m, [) }' z; Q! d* ?- u O+ ?/ J
function CleanHideClass()
) X7 `9 K: c" r$ u" z: P0 d5 M{
4 K+ V+ e* H, d7 `6 S2 Q $ v \7 T/ D6 W8 p
this.on=function(id,bMZ)
( S% V' K- o+ s# Z' g7 Z {& |- s/ E- K3 h: X
. D$ B b) c" |. w1 _9 o ] if(id == 0)
3 g. B% C& g& F+ w {
# w7 d8 t$ l* w9 d' W: ~ C var page=/* document.getElementById("content").contentDocument */document;
/ _" b) c1 q" z8 @7 g, ? this.RemoveHide(page,"span");: r2 T4 u) ~6 O7 C8 F
this.RemoveHide(page,"font");. M L! D$ {$ S n; c; w/ `
this.RemoveHide(page,"div");
: `. X& L) |+ I7 O3 F- ] this.RemoveHide(page,"p");
: |4 P1 E- G6 E: B& } 0 p$ z9 A) |# C" \7 r) d7 k
}
3 j4 J8 E8 @% l# I2 e- `
& ~9 W$ F; Q- d3 ]) W }
# Z/ P+ U5 y' X w. [; g this.getobjstyle=function(node,prop)
: P6 B5 ]8 D% Q8 y8 ^8 K- I {$ e. w, R8 C4 A1 F4 f
try; B2 M! T7 E7 I$ ~) ~
{
0 h* w3 t3 J1 Z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* h. h: T: _" j# p }
( W0 ~7 j# I" I+ v catch(e)/ z$ {- l8 T5 Z; x9 D
{
. p0 R; O7 r$ |7 P if(debug)6 r3 a2 ?+ R& A6 l0 J
{) X2 [8 g* [. z9 p/ u# M \! C; Z
alert(e.message);' |% I6 p2 K# k1 ^5 `
}& y! ^! L) n# N# {, x- q* T+ Z4 D
9 f! h# r) z6 `( K return "200";
1 k3 o0 ^; }. g$ `4 D& ?: V }( k/ ~) L8 p. J( N4 C
}- Y3 G! J$ V3 W* B) \
8 I# M: r0 M: c: j; w, }2 R this.RemoveHide=function(page,objname)
* @' B: j7 X4 N, ]+ X6 O5 f {! Z! m, S8 Z& m5 B( o
try1 {1 j- _& c- z* a8 F6 p) f. n
{/ N- [4 h, F5 O6 V6 j
var minValue=15;1 I' [" _- T6 P
var objs=page.getElementsByTagName(objname); ! K( X& E$ T, Y$ I9 L1 J9 P( p8 Q
5 Z$ q& f' W7 D! ?" n2 [1 `8 X
if(objs.length == 0)
5 v, d5 I2 v- a- j# w$ J& s {& D9 ~5 j# N( J) o1 Z9 I \
if(debug)1 t6 `3 ^& A0 N
{
+ _; U* q4 W. ]2 I; g" J alert("no object found!:"+objname);. ~! K% N1 o7 W' m" M8 p
}
0 A: W+ q! M7 f4 M: Y; B }
+ ? y U3 t8 g: r# @ else
1 z; b" l. W; H {' ]/ |+ @6 O4 C5 }: Y" F
# W& `" g7 H3 K& C, r! x, m( j for(var i=objs.length-1;i>=0;i--)
. T/ q9 n* m* s { l3 k0 s! s* N2 n$ D. V$ ^
var node=objs.item(i);
- H, [- W0 o: i" B $ w! `8 s3 n# @" B d j
; ` B% l) o$ \6 v# H if(this.getobjstyle(node,"display") == "none" ||
5 e/ z' V5 T% [ this.getobjstyle(node,"visibility") =="hidden" ||
( _' @/ W; m2 e* Q parseInt(this.getobjstyle(node,"font-size")) == 0) - K$ D6 w, `' x( T
{
5 m- H, ?( ]+ M' V! A+ I A if(debug)
5 T6 c" S- _! m {
4 F* \+ \) |; o& v alert("remove invisiable!");! p1 }* a) Q: V; W' L* [; [% f' U3 O; `
}
* _! Z* k5 y* n) a0 n8 D) Z node.parentNode.removeChild(node);% N& Y0 P8 Z& m* u2 C4 p
8 c/ N8 l0 p9 c. t7 Z
}
5 `4 j0 r& j3 F) w: S else 8 ?0 |3 X8 s! P, r7 g
{
3 h/ D, Y# E/ M1 Q. b: W+ D+ D if(node.parentNode)
* B- X1 A* u3 Z {& K! a* X, f0 Q
var orgNode=node;; v) S" R$ f' p. k- e
var orgColor=this.getobjstyle(orgNode,"color")
+ G% D7 Q$ K9 V2 |& A+ p var orgRGB=getRGB(orgColor);
# s- m9 u: i" t
+ |) y% W, g: `" u9 u var parentNode=node.parentNode$ {' A$ j- H. J
var parentBgColor=this.getobjstyle(parentNode,"background-color");: `$ \ D+ y* h9 \
+ C4 E5 m% l: G4 j var isLast=false;$ i- Z$ Y/ _) ~; A) O- p
8 Y! l# h# N1 s8 \! [2 o* ^
while(parentBgColor == "transparent") 8 G( t2 _$ R* y& g: ?
{
. W2 y% J4 t. [+ ^! R
, R6 a' N$ z9 I6 ^8 k; E- l z 7 K9 t* a! q% y. i3 ~2 z3 M* n
if(parentNode.parentNode == null)
4 w; g% k4 D" @+ ]9 F {3 @# D. ]' [0 N- ]1 w8 j
isLast=true;
* y+ o t0 Z* k4 j- {( |" M. p break;4 z$ }5 U2 Y" J6 i ^3 K
}9 g5 R9 k, j2 P' O x' n. h
parentNode=parentNode.parentNode;
7 p3 x$ Y% ]( E. V, q parentBgColor=this.getobjstyle(parentNode,"background-color");% Q e( z' n( ^. U: Y* `) x, P" B
9 k* R9 ^4 G7 S- i$ `" M' u
if(parentBgColor != "transparent") , R9 d* X9 r6 C: c: v: A f
{
$ D ~* @ }) ]3 L3 O u/ U break;
- l+ q- B _) ^ }
" w6 g0 A1 l$ m& G* m }
' B0 E+ C& m4 F0 x if(isLast)
]/ u# S! U9 J& E' k {
$ [9 m7 O3 u' d# r8 j$ u! @) ^ if(debug) g& }* ? E2 Q5 @8 M
{
; F1 c/ i& T9 D1 O. k6 N9 K alert("last!!");; O: D1 q2 t, A e9 S
}/ A+ F% L8 g2 @$ I& ]
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) h% C. J4 b& f$ m |$ G
{
% J& J) R% _/ z orgNode.parentNode.removeChild(orgNode);
5 [: p1 U7 f9 K* r, M3 a }
* v/ M' U+ a' y- s+ H }6 P' v# N0 a# A; Y" ]
else* T5 N& ^" e$ k0 O e; V9 R
{
& A9 P+ K1 R) V1 Q if(debug)
# r+ k |. l! l3 `( f {+ \ X8 M2 l$ ^$ M
alert("compare color and parent bgcolor!");- v1 ]2 f$ Q7 N+ P5 r: ?
}
$ r+ X: ]- w S7 L5 ^ parentBgRGB=getRGB(parentBgColor);5 W' C1 k/ v$ P2 b! ] _6 O# | a
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 D. f9 d/ C3 y) B; B/ ^4 V' w
{
0 y. m" J R5 E) j H8 ] orgNode.parentNode.removeChild(orgNode);
7 R; H% h1 t+ i5 O }- d( ], g6 s5 N
}$ }( C; G* ]5 |; G; H" V
}; {' k# q2 X, p) d5 R
}
1 Y$ z: ]- o9 X* ] }; v2 y5 ~' u6 Z& ~5 M
}
# b+ v, X ^1 S1 _+ x 9 a: ]9 k7 y8 u8 l" P' s j
- O. ]6 q7 [, \# c var itemFrames = page.getElementsByTagName("frame");4 p" X; A a( b8 l, V, k
var itemiFrames = page.getElementsByTagName("iframe");
- D$ p3 x& ?) n; x
0 U7 @# o) N# G7 A- y! M0 g var frame, iframe;( l! E0 ]: l8 W/ \
if (itemFrames.length > 0)
6 v3 {% B9 I5 n8 v2 |" ~, L {
3 z9 A, P& `) s# r9 D for (var i = 0 ; i< itemFrames.length ; i++)
8 w% ^! W0 D0 G. H {
2 T" i" l" `3 z4 g5 ~* ^ frame = itemFrames.contentDocument;3 r3 g5 e% L f6 q- o" }+ h8 S, C
this.RemoveHide(frame,objname); $ s, I2 G2 O. e4 b" T7 u7 p0 c
}4 q1 g0 P/ p, F( A- H
}( y4 u( s! a* g1 \
if (itemiFrames.length > 0)
' H5 I* P; l8 ^$ g, v. [ {5 C y3 h/ `+ l4 K$ i
for (var i = 0 ; i < itemiFrames.length ; i++) 5 y" o, o* q. P7 e
{0 {" h; M! `, U2 [
iframe = itemiFrames.contentDocument;$ C I, y4 g; \ ^) l4 l
this.RemoveHide(iframe,objname);
# ?1 t s5 P' T/ n9 v z0 F( g D }
" U4 r; k) K+ { }
# N. c8 d2 s3 ^- g, |9 J' |7 K/ o X }3 c- L" ~4 D) |3 z7 \) {* E
catch(e)
, H) E' d: ~8 [- L% i- s5 A! J* K, n {+ e4 l G, Y$ r( {6 _
if(debug)
, e; v$ y2 A2 Y, m- B7 _9 l {2 R1 l5 c; h& D. Z. \9 ~
alert(e.message);
0 L* j7 k9 Z% Z3 m }, u5 @3 Z( w, W$ P7 ~$ g
}
6 ]+ b) @2 h. G5 ` }
: b4 p- ]" {# C
' S4 w7 b$ v$ i( i3 r- |}! F' Y7 `1 d ^; f. u3 B. D" @
. v. n2 Q4 O; [/ d1 s, A5 c" L% cfunction getRGB(colorString)$ B: M* e( [+ s( K
{5 K# I( t0 R. I! |) D
var RGB = new Array;* b# j5 A' k/ o9 I9 `) ~8 s
var tempSting=colorString.substring(4,colorString.length-1);& {) _1 B, ~3 S- W
var tempArray=tempSting.split(",");
+ W) P7 G2 m2 v- P( F
- [% N) |+ S7 x/ y* }! F* z RGB[0]=parseInt(tempArray[0]);( l3 g2 ]. d3 m- K, `
RGB[1]=parseInt(tempArray[1]);7 O% E v) H) i3 ?# j2 e8 [5 H8 \
RGB[2]=parseInt(tempArray[2]);' W% H+ M) |4 O1 ?4 {0 d6 }
9 V+ o$ Q, ^7 A# k( \
return RGB;: G/ _2 Z' A4 O
}
]+ p+ c2 V' z6 ufunction keys(evt)
: |2 k' q$ q' f) T5 m2 v { 9 b; {( _: ]( y& k4 b
if(evt.ctrlKey && evt.keyCode=="81") 0 {, W4 ^5 F- M1 a' A$ j7 i
{ + H+ v. \, p. \, |4 _
CleanHideObj.on(0,1);
7 E( I- V4 `4 M alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 \0 {, Z) Q' N g- H/ }+ H
/ J- X: Y( W# q+ T } ) S5 g1 P8 X+ {
}
3 C9 ?& O# c1 n! g5 T, a" B1 ]: L' zdocument.addEventListener('keydown', keys, false); ) h0 O5 A( T& _0 p1 I J* R
GM_registerMenuCommand ('Clean Hide',
& \% A1 L% S. S: _* c" ^6 U. L& wfunction(e){# `( v; Z3 j" I& Q$ m
CleanHideObj.on(0,1)' E: v: ~. B& b5 l) X) ? V5 l
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");" W$ P3 @1 p* d( L q! \* Z
});; Y0 ~' g, J, ^: E
|
评分
-
查看全部评分
|