|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 K& f4 ?) k) Z. z+ }, Z: Y
; o0 \6 J. _0 j, f火狐插件,用猴子
: b; ^ n# h" H5 _. l f9 b! D% R1 ?! h
var debug=false; 1 T2 L+ i) f S
var CleanHideObj=new CleanHideClass();
/ r0 s) o8 k8 @2 T; c" p# \2 F+ ]* {# a5 J
function CleanHideClass() 9 }" c) ~/ S& u: k( r1 z$ L6 J
{ 5 C. y' l1 m s0 r7 ^! M
6 ?- M3 \4 P' ~, i( |4 X8 }
this.on=function(id,bMZ)
* D; h: _1 K- o' `, T {* I8 [( W$ ^2 ~8 w- U* P: F- V
; W! q6 l, j( B6 m
if(id == 0)7 i; e0 }2 T3 @' B
{1 ]; H! W; }; q1 w% _9 t( h2 |
var page=/* document.getElementById("content").contentDocument */document; : W: H# |- U3 L* A8 h
this.RemoveHide(page,"span");* t0 b% |# j6 B6 {9 _6 z
this.RemoveHide(page,"font");( V7 r, M {7 R7 u
this.RemoveHide(page,"div"); H- W K- L5 v% J7 M3 }
this.RemoveHide(page,"p");
: L- X0 F2 S3 t4 @. s3 C/ ` 4 e' c& _. D" e% ], B
}! R4 D% i+ D6 i; }
% }! w/ ? x# G4 s" ~ }
7 j' w2 t* V4 q this.getobjstyle=function(node,prop)
6 b; J# G) R: I. n2 W {
" K% ?- d0 H. t: f6 ? try
7 ?2 h8 f/ i6 I {
; U* D3 \' P( I: M4 |: w return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ \ d5 Q0 V' j }; x% Y6 W2 G5 E( G' ^0 f! _
catch(e)6 F; k! [8 u* e* O% Z8 t
{- H) J+ h# u. B1 U5 g
if(debug)
9 A. n/ S0 x8 ]4 k, E" F {2 X, ]) X* {, l' K
alert(e.message);" c' X: w# F5 t4 q; Y% M
}
- v/ r7 [ Q8 y, M4 P
: l, M; b' W' B( a return "200";4 q0 v+ R3 t* N$ F b5 k D' }, s
}0 b2 ~6 t% [" c$ L1 c' M
}
: |6 c. D0 m9 u- V7 e/ M
R# E, J4 t5 U3 h" f/ O! \ this.RemoveHide=function(page,objname)
9 Y ^- K1 q& H: Z6 n# m) A) C {
* m3 F+ `% U2 Y try
/ n! v+ {; F% B2 C( e2 [8 Z. i {
& m9 U$ i9 h" B# O0 y var minValue=15;
: G1 u" R) `' e0 _ r2 m" h var objs=page.getElementsByTagName(objname); 1 k7 D' a* f1 @6 Q+ j
9 ? j3 e" K! a! V
if(objs.length == 0)
: d0 |0 h3 D0 L7 b( s {$ I, l3 d' Z1 ?8 u0 @
if(debug)1 l. K5 |* w% Z2 t0 r% V* A9 G
{
5 I" s( s3 w9 g* `+ W alert("no object found!:"+objname);
4 v; Y% f: `9 O% w }
3 { `" @( b! L }; ^' `4 C E8 N: Z- k1 V5 }
else
4 I' B( j# e( {4 T) A {; f+ o3 L, s9 L8 u( y$ L& U
! e7 f5 ~9 Y) {& `$ @( | for(var i=objs.length-1;i>=0;i--) % ~2 x# [2 _, @' t4 N
{4 L3 ?8 Z* V0 @( W) q5 l f
var node=objs.item(i);
- l6 F" b* B4 ` ~, V+ k, n2 H ( ]7 o* \+ e; y3 \
3 s* C G6 X" O7 ]5 A: z
if(this.getobjstyle(node,"display") == "none" ||+ B& C% p6 ~7 n+ l" G2 `
this.getobjstyle(node,"visibility") =="hidden" ||( q$ P5 N' P$ w+ l
parseInt(this.getobjstyle(node,"font-size")) == 0)
' _1 c8 J% `: Y; y, I {" I; w5 p# K( | k0 A
if(debug)
$ ?3 Q* d5 s5 j {$ c. P( Q" x7 [! g4 C: V
alert("remove invisiable!");! U; Z! ^" V8 E) U& V9 a* Y
}! u; ^( z; ?8 i- b
node.parentNode.removeChild(node);
& }: ]$ g' d z. p$ Y
) W/ V+ J f6 v( { }3 a/ W; L6 F; {/ `# l; j
else 2 N8 I. S; `6 _0 G0 \
{
. k. y* Y$ m1 h7 d$ { if(node.parentNode)
/ \! K2 p+ C+ a4 Y& A& }( t( D {
- h; _ y1 J9 g7 o! Q. \7 i( \ var orgNode=node;, x+ D" I" Y/ G$ E7 d& {7 |
var orgColor=this.getobjstyle(orgNode,"color")0 Z9 H( h1 N: W' e
var orgRGB=getRGB(orgColor);
; c0 _6 x7 {5 @; \ R
. Q2 ]: o) W1 w& @8 U3 g var parentNode=node.parentNode J& h8 D2 h' U/ A2 F/ X8 f
var parentBgColor=this.getobjstyle(parentNode,"background-color");
' X8 ~& L3 j0 b& ?$ r6 c
. x! B3 A3 N- Z8 e6 i+ }" i$ _ var isLast=false;
8 V( G m J' j# @ + V1 u& w. C' C* D. G) D$ n
while(parentBgColor == "transparent")
- E G% P$ [) b# t3 ?; Q {
* J# Y: c, {3 _ 2 F8 s: X: l" \1 l6 ~3 Y! Q
8 @- m2 h/ v( {" ]( d1 r# j
if(parentNode.parentNode == null)
4 b8 R$ N$ o& s* B6 r- A {8 }9 t% R7 \7 H4 ?! D! t
isLast=true;" S" x8 y" F! {: w0 P9 D3 a5 k/ U7 ^
break;! U; i: n5 k2 Q n
}7 g$ `/ Q' \, s8 ^
parentNode=parentNode.parentNode;
# z: o2 K7 k' y/ z: ? parentBgColor=this.getobjstyle(parentNode,"background-color");
1 U. J4 e, `+ s* g
' T6 I- F0 Y0 |3 m7 f0 V6 U: v: [' ] if(parentBgColor != "transparent")
/ J7 l. ^+ w8 L8 T( S {& K$ Z) ~! E z; t) R2 U1 z
break;7 J2 r% c% o' U
}3 g: B6 ?8 q" l# G% o6 F
}
7 r) k. w( n+ ^" j5 [2 A; A if(isLast)
1 `% Q1 N2 F+ E7 z: z+ j; ^ {3 ]4 g* _/ R6 l2 w7 |5 F
if(debug)
( q4 @+ P. H2 o" w* ] {
$ F1 G$ P9 ^) f5 R7 n alert("last!!");8 Y" u; Q6 k# ^, G
}
& S; b: o4 x' Z# C+ M9 f" w if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& ^/ W# O) G Z9 N5 ^+ m
{
( V, r6 o6 B3 ^! ? orgNode.parentNode.removeChild(orgNode); . o: {: Y* n* ? z( Q# x" _
}
7 Y/ I. n1 I; R- N }
1 P7 ~' n2 B9 a7 g% h P+ K4 z else+ u+ s9 O9 }5 p0 e
{7 L1 y. q: k+ M
if(debug)
" k' }/ n/ b# D! j {
6 Q! d+ J( d- Z5 u! x0 y& w alert("compare color and parent bgcolor!");
% l7 _% S: Y7 L; g4 `3 W! u& \& N }
! C9 v* y4 @. S parentBgRGB=getRGB(parentBgColor);. c2 Y2 {& r* a: c4 ^( g5 x
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, O* I) I. ^. s6 K {
& B2 P3 i4 K/ A! n orgNode.parentNode.removeChild(orgNode); # E) f- Q5 o5 c' y/ `0 Y
}, i# R: B; h. M# j
}
% a$ x2 @9 h+ C: q1 j7 } }
- j) B' ~. d! b% [5 O# O/ q }
, h Q' l1 b# l }* s# R% a2 _8 O
}
6 T5 N% A8 o1 h% E( L, T0 O+ |0 ]1 G ; n) j5 }/ E9 i" Y: E
! n$ L- Y: D n6 r. c" x
var itemFrames = page.getElementsByTagName("frame");8 x4 Y* f g* B! i# W4 d) I y
var itemiFrames = page.getElementsByTagName("iframe");/ |- Z* A$ I6 G- I0 J! E
+ ?; z# a6 {0 b, f' Y# H var frame, iframe;
& _; v$ A2 h- F if (itemFrames.length > 0)
: H' V+ f: V# f# E4 E6 ? {
* c! f" N& h: n7 ]+ Z* K+ V for (var i = 0 ; i< itemFrames.length ; i++) * z! S x2 s: q* }8 T
{2 S. K# A! z) Q' S% q3 G
frame = itemFrames.contentDocument;7 E2 t' ~- C O: L
this.RemoveHide(frame,objname);
{" Z8 H6 x7 X }- M0 ^4 h1 K/ R' b9 S* ^. U+ }1 F
}
5 j+ D! d* v! k2 V0 U! ? if (itemiFrames.length > 0)3 t2 T% v8 B2 C: I& L' W8 b
{
+ W8 O+ }9 Q) L5 g for (var i = 0 ; i < itemiFrames.length ; i++) ; \; I) V N7 c# f9 d. J
{7 q/ H7 j, ?$ ~& p5 q; D5 K
iframe = itemiFrames.contentDocument;4 X3 }+ \ i1 Q/ j* f& f0 G$ T
this.RemoveHide(iframe,objname); 5 d; E* u4 a# x3 J1 W
}( Q3 f1 D5 d# X- W4 Z, u. H
}' I8 ^4 y- K, z
}! M% c" w! d/ M
catch(e)
) h4 @' |" f$ a0 n {% I9 u" m" |7 D9 T; ]
if(debug): O. y: {/ C5 L8 m% P4 m
{
; ?; j; Z8 B% h" X6 w7 s alert(e.message);* T& t! n3 t- t6 I( d: ]" k6 j5 J
}: ?# a' y+ P( ]6 [) u
}1 ~. U' c1 T6 ^1 ^7 W
}* Q( }$ H' Q, g5 N6 J' ^. W
$ r' c) |$ s9 f$ t8 t1 x; L
}( p# C. ?/ `# o
- L; p6 i$ U1 K7 }
function getRGB(colorString) [: P8 \5 D o
{9 C. Z% H* B3 v: I: ^
var RGB = new Array;
7 ?% N: X& j. y2 P) g var tempSting=colorString.substring(4,colorString.length-1);
9 e' I* f4 k. V; T6 t var tempArray=tempSting.split(",");
) r1 i" I9 b2 V! x
/ h3 {) g% \- v* h) r9 _ RGB[0]=parseInt(tempArray[0]);
: z; A( Y4 R% G; H8 T RGB[1]=parseInt(tempArray[1]);
' m$ z( ~8 x# o: s1 h; N RGB[2]=parseInt(tempArray[2]);
# I! H2 B3 K; E" K) } 4 J2 w; [9 l* o- ]: ~. }. ^
return RGB;
; g5 V& _ e& @: w; ~7 \}
/ D+ e2 u; J: w( M# O/ I) \function keys(evt)
3 F B# B. i2 w' h { ! G O. W2 H1 O! y6 y
if(evt.ctrlKey && evt.keyCode=="81")
2 \. m/ u* E* A$ k {
2 [% w8 E3 g6 h8 C2 \! j CleanHideObj.on(0,1);
4 D7 a' K: ~1 C* U/ H' k8 [ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; F3 f0 q! R% q 2 b4 u. W$ ^ Z: Y8 f! [0 y
} - x: L. x$ ?( T+ w( q! u% p1 ~
} ( d6 I+ O% K' R2 S3 E2 a
document.addEventListener('keydown', keys, false);
4 G% i' l+ b4 \( D4 ?/ p. nGM_registerMenuCommand ('Clean Hide',
( a' B+ J# q4 J, Ffunction(e){
* Z4 y1 O5 Y5 g& t: L8 C" j) qCleanHideObj.on(0,1)
' U3 H* q, m5 m, ], Ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- p0 {6 Y! z) r( Q1 k});
9 C9 N" J( [$ K8 \ |
评分
-
查看全部评分
|