|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- L- @3 \1 @: i: \
8 F2 Z- W. Z$ D火狐插件,用猴子
" c% S# n# {1 y( ^. y
5 h( l" K) a3 I! l: _0 ~/ fvar debug=false; + h h# S: B9 x2 j8 k* {
var CleanHideObj=new CleanHideClass();* \2 z B7 d' H: V# [( m8 G! _
0 d* a _ c( ^" d* ^' w9 G
function CleanHideClass() 4 X2 m& v n7 C0 K9 A: M
{ 6 |( {- T3 X5 y7 ^
( ]/ _. C( ` L( f, a4 Q; ^* ~
this.on=function(id,bMZ)
: C! C' Z0 O& y% Q. o6 T, H {8 `( ]1 {# h; B8 r- F5 J
9 v8 W9 u, ?) V* ?7 w if(id == 0)" b( g' m: ]5 |$ Q
{
/ ^6 S7 V1 z# @3 U: z var page=/* document.getElementById("content").contentDocument */document; * I. G, o, [/ |/ n$ @8 V
this.RemoveHide(page,"span");# @2 j7 z8 q5 G# W6 }
this.RemoveHide(page,"font");
" c6 U; b' V2 \& m d# Z2 k1 U this.RemoveHide(page,"div");+ a P2 R; v0 V
this.RemoveHide(page,"p");
4 W" b6 n1 x/ L+ B& C6 U, T( A. R : N8 s- w$ d5 T% r& }8 q( O
}. I- M2 z. Z$ U1 D
+ F) [# V9 }9 X% ?. K
}0 \' H" n |5 I* [
this.getobjstyle=function(node,prop)$ u+ ]/ @6 y1 S) J' u
{. A: @7 z3 B$ w( X
try7 E, T; s3 L- J% j; ~9 q$ P
{: i- Q4 p3 W5 `
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 ?7 r/ ]# m J/ J* A
}
: u( d) \& v9 `7 ?& T catch(e)9 ^. e+ B0 N4 @0 h, q
{
. \4 x6 g/ Q7 O3 D% C u% d8 ~ if(debug)* i) o6 K( B* n: |2 i1 O4 C
{6 x3 J J! D# T8 d
alert(e.message);0 U0 Q( U( O$ `7 }
}
# u; B9 M& @5 W) T' M' E+ x
3 n% c8 a3 X* w" j1 E4 @$ W. D return "200";! ^4 m- t8 ~# r/ U- E" o! z
}/ P, e$ u; ~' h1 k
}
% f2 Z9 o4 M% k3 f7 M% C6 G/ L' q ) {8 D0 H) a: m% I6 M
this.RemoveHide=function(page,objname)( y1 g, ]* S M7 j
{: G- i( b8 L1 U- h) [
try, c+ `- r: U T' d" a) I3 |5 k
{. Y5 O% k/ D3 p' A8 P, v
var minValue=15;2 [1 H( M% q( X! g, F; |0 }- X3 A
var objs=page.getElementsByTagName(objname); ) T. \4 J: W4 D& m
% j) h' K2 o; e( B4 ~ x
if(objs.length == 0) 9 k( D$ g8 \) ]4 ?4 t
{9 r& W8 R3 q5 Q4 E
if(debug)+ d4 w6 u& C& L' E4 Z. z
{6 s# J7 b" Y! n7 p
alert("no object found!:"+objname);8 U' C3 S, @/ z& g" H+ v3 ~
}
9 D4 r' e% l ^7 G+ N! t0 E) f }
3 z, ?7 x+ Y; a2 Y* z8 x5 r) k else9 p' J; c' E5 ~. N$ E
{
# s. r1 T7 h6 @+ V! Y$ K % @2 r `2 T! R1 V
for(var i=objs.length-1;i>=0;i--) 7 V* `9 N/ a0 S& Y: y) E
{
0 V/ b9 R# h% u# b6 r1 J var node=objs.item(i);
3 D) a% X4 ~8 ^ v5 y6 D1 u
' `- {2 q$ o' Z+ l$ i ' i4 n; \4 p- E s) m8 d1 K% R9 [
if(this.getobjstyle(node,"display") == "none" || p1 b- m' F* ^0 [8 M
this.getobjstyle(node,"visibility") =="hidden" ||# ]2 H9 M+ A0 I) e6 u
parseInt(this.getobjstyle(node,"font-size")) == 0)
' B9 P+ k8 Q: Z4 K {1 }# c1 X+ O' d5 o
if(debug)
. T, P0 |6 M1 w4 X: b {
5 i" e2 f1 T6 z7 T' N7 n alert("remove invisiable!");* G3 f; }1 [# K
}
+ x# Y- S- C! q! G node.parentNode.removeChild(node);
/ q2 \& p+ p# F# {% C8 ~* B 3 ]1 h6 d# R$ O5 j; E5 g. W% l
}
0 H ^7 R' I! Q+ q' {5 j0 s- {! g else ' L/ Z; y# Z, |! q; M
{4 i6 C$ f! X6 }3 y% a$ r
if(node.parentNode) * i5 `% V* T% Z# o
{
3 l- z, j; ?7 f$ T% k* ` var orgNode=node;
, K9 w3 z! W! U+ X var orgColor=this.getobjstyle(orgNode,"color")
Q7 {2 g' M* x9 ~ var orgRGB=getRGB(orgColor);
- [3 Q+ r; q6 U k+ |% f- K. z 1 o" i/ w2 S5 I& J1 ~6 A4 D% H1 ]
var parentNode=node.parentNode
7 f/ y3 M- z T1 d: a' C. z; j var parentBgColor=this.getobjstyle(parentNode,"background-color");
T' [3 h( T3 u+ I* F9 n
3 c, @- z4 s7 O5 U var isLast=false;
+ A% a- M1 ^7 O, _, z $ ?7 J+ v; N) M" {& r: m+ _
while(parentBgColor == "transparent") : L* A8 J3 r R8 J# {$ n. H5 j
{
) Q0 u7 X+ `. o2 I% ~
2 [6 g% ~+ ? D( o 8 x2 |* i8 D0 } `
if(parentNode.parentNode == null)
. w9 B3 H4 v' g$ h* O( [. x {, Q) S' n y3 ~3 X$ y5 q
isLast=true;. P7 M- k* q! t8 F; b2 m
break;% a5 n! w4 `7 X+ n
}% Q$ M3 J' G q. V" T0 h
parentNode=parentNode.parentNode;' t( [: [$ q/ x: k, N
parentBgColor=this.getobjstyle(parentNode,"background-color");
0 i- ?; g! ?; a1 m* _
; I$ r& `# ^$ ]+ g `0 m' t* u& x if(parentBgColor != "transparent")
% Z3 w1 P' A9 f {
, q+ N0 a$ @; T& ?% X2 { break;
: |& e/ g9 ] J1 n+ f2 j* ~ }
" h/ P( G* K* W9 P d6 O0 r }, h9 E7 I) ~; V1 Q
if(isLast) % Y/ }# |' }; w5 C- B- j
{/ G3 L R& [ z b7 s @
if(debug). H4 I N. ~8 a; [4 t
{
6 u( s: s6 ^4 T alert("last!!");
J$ p) M' @/ F* W0 Y( U }
3 Y* D# n2 o" R$ T8 C& O if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
) j2 S9 ]0 u% F {7 }, D1 {) R& p" C9 |* U& E
orgNode.parentNode.removeChild(orgNode); # r" q5 ]/ u- O g
}+ X' d! O9 ^/ a8 O& p5 ]" @
}* l' R* u) f' B4 M4 b/ w5 v% A! b
else9 ~$ M1 b4 d _% g0 D1 }
{# P. l4 J, V: r3 T& l% ] w' M
if(debug)
0 q% L$ N6 r% x8 o7 y- V {
. S9 w$ t0 k7 d: X alert("compare color and parent bgcolor!");
: P, J2 p. `) `& C. A. F; j0 j. z }" a0 n6 C$ c8 J2 c! H9 L+ L8 {1 K
parentBgRGB=getRGB(parentBgColor);
: ]6 n z6 q4 m! h if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
4 A7 k' Q* u. n/ E8 C* J {$ G6 _. v; [! \8 W( t8 r: \3 s
orgNode.parentNode.removeChild(orgNode); - s+ `/ X3 V6 T: K3 @! i! W; d4 F
}
5 [, |2 m- z/ N8 j }8 _7 g% H2 N$ g7 P9 g' _7 W/ d
}
, V: J& H. M! n& `- S+ V. L& a }/ g+ k" x; Q& Y
}5 T% X- j, [* w, c
}
/ o9 J( O {3 Q5 m # l5 f% Y2 I. ] l8 v6 u
# g3 O% `5 F9 ?0 ?- a; I
var itemFrames = page.getElementsByTagName("frame");, ^: y2 R8 x5 Z7 u, p
var itemiFrames = page.getElementsByTagName("iframe");/ f6 i; v" @5 K+ a% L! v# b( M, {
4 w8 t" B) h% A7 j* d' s) U var frame, iframe;/ c9 m5 d( W7 J; I( {4 v
if (itemFrames.length > 0)
`7 b6 U) v6 ^ {
; m# w+ t; R0 F7 F# q for (var i = 0 ; i< itemFrames.length ; i++) ^) f/ _' R u$ Y9 }" l; o& `
{
- t1 F0 H1 t/ @7 Y1 m frame = itemFrames.contentDocument;
4 M4 t r' W$ C/ W( I3 Z this.RemoveHide(frame,objname); ' B+ I4 c: y5 Z m+ E
}, L4 B7 t0 w. L, K: P! z0 ]; C: ~0 ~
}& O! x* H& c8 P
if (itemiFrames.length > 0)
4 q7 M* D' _ L' F! e {
: Q( A( {: ~1 w9 k, o' s for (var i = 0 ; i < itemiFrames.length ; i++)
! a& k; S3 \$ @0 C5 C( F1 Z) E {0 {0 y) ~8 x9 J3 i. R3 Z
iframe = itemiFrames.contentDocument;
6 x; B" A8 c4 I- W9 a& w, u this.RemoveHide(iframe,objname); 8 l! |) g- i3 l$ R( c
}
+ |/ ~. Z/ p3 J, O9 w9 U G }7 y7 m& F( ^. B% J2 j7 S5 e
}
) [7 V* c+ M2 j" Q catch(e)7 u" x4 q4 U' p& H* d9 n/ C
{
' `: B) Z- T+ s! d if(debug). e4 k; y3 \6 g8 e
{+ h" V2 k8 e# y4 [ f& M# I
alert(e.message);1 s) s4 ~8 `; F
}3 x' L# D3 B; w' h* {% h
}
! ^5 \/ @! S' }" U8 A }
( D; n" L( o8 p0 k0 y; D 4 f4 a2 u3 x+ M# e. X. t
}
' A: x: N. X I/ j& I
5 X. _" l4 x7 l5 C4 c) Efunction getRGB(colorString)* S) ]# C/ P, X4 `* t
{4 q1 `& w) Q: {$ p6 Y( g8 j
var RGB = new Array;- F! {5 f, h7 F) Q- ` q8 X
var tempSting=colorString.substring(4,colorString.length-1);/ R0 d; Q( w7 u" X
var tempArray=tempSting.split(",");
4 {$ @' y* g" \+ K; v, q, `+ j3 C* B5 x: c8 K
RGB[0]=parseInt(tempArray[0]);# p& W2 O8 I) f0 P- ~! E
RGB[1]=parseInt(tempArray[1]);/ p. M! _6 k- A' [; o5 t$ C1 S
RGB[2]=parseInt(tempArray[2]);& J# t1 X2 S% T/ x F8 u
/ B* f6 V/ M u9 y# f% G! T( {/ O
return RGB;+ a0 |0 G! J2 o2 ^/ z
}. }/ A# M# r# f; E/ l) J
function keys(evt)
2 b3 E0 W3 e L6 r {
: J1 K) L* Y4 ^( y8 p if(evt.ctrlKey && evt.keyCode=="81")
^) {; k3 t; Q }: @- v7 @ { 5 T' u6 \% e3 z7 n9 k
CleanHideObj.on(0,1);" Z, I5 k8 B5 F$ R' Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, q; ?, p. B0 |/ m
v+ ?1 r+ e3 E" r5 n8 E }
" P( N5 f! a/ z6 s: L- P5 B2 S }
* }1 T: I1 C6 v2 ~document.addEventListener('keydown', keys, false); ' O9 S2 v d. j t' A- h
GM_registerMenuCommand ('Clean Hide',
7 I8 L& w+ E4 O3 F8 O9 Dfunction(e){8 b4 n5 P5 D2 o8 M! @* {; a
CleanHideObj.on(0,1); {# X7 k% C7 ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");3 F& s0 }& i/ G0 E) J1 |# w
});
. ^! |$ y) Z% m# d |
评分
-
查看全部评分
|