|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : \$ A7 T, @5 |7 o
8 i, X2 A% z9 E/ d. u: w火狐插件,用猴子/ |, q- j. {6 Q+ F! _* {
6 e7 y1 Z5 K' O6 R- L2 t
var debug=false; " X, ^5 T! L% O t- s$ q4 O
var CleanHideObj=new CleanHideClass(); y* |" Y% c2 B! E
0 k5 ?+ l& `. \: L! y* C9 \
function CleanHideClass() . I+ ]% b% i- n, B3 r6 l' B5 b
{ 4 y; t+ d2 `! }0 W/ ?# n- g
/ u A1 k5 s9 `: h
this.on=function(id,bMZ)
; m7 a7 g5 F2 e8 d {7 v, a+ {' t7 @2 i% J/ t7 {
% U" m5 n5 R7 x4 \$ g% c
if(id == 0)
& P$ ^, G1 p) O! M) C0 t% p {- E- }$ y6 T2 A: M
var page=/* document.getElementById("content").contentDocument */document;
. B9 K, E8 R3 |$ \, A9 ^' q1 [ this.RemoveHide(page,"span");1 J& B2 e. m$ o* H9 r
this.RemoveHide(page,"font");0 U/ H3 N: N# X7 c& M% v# Q) V3 Q
this.RemoveHide(page,"div");
I& S9 f5 b. d2 Z this.RemoveHide(page,"p");
9 p9 M! ^ I" ]
0 a5 b4 v, {! r/ S l }
8 C0 E: S) ~, d4 ]( d5 F0 w0 J1 w: b, u0 w
' \: [ W, q# Y. L7 [1 A }9 Q" U6 p& L5 w2 y1 N5 ]
this.getobjstyle=function(node,prop)$ f1 O7 F0 c5 n/ m% c4 c5 S
{
. c& A. }3 I5 P2 ~ try
& O9 w5 {* b$ y" d" r7 F {% A2 U& j: |+ m1 y1 W
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" Y T4 y1 e) O" u" q
}) [" x. ?) P! V3 h
catch(e)+ i% D5 O: z6 d `$ E# @7 p
{
: T( e d/ G) ?; {2 I! |& F if(debug)8 `8 E: N1 _1 p, x0 z# a6 s+ f
{" z9 g0 s0 ^3 R9 @8 W O7 c1 k
alert(e.message);
n. ]' h3 N, k# z4 z& I# s' t, } }5 Q) L" ? ]7 E; G7 K
' i! J! C* Y. `" A T( v
return "200";
5 j, I1 m! p) c2 H }+ E; M0 N) o5 ^/ |
}: q+ M& t% \) s1 s! o- V
- z) F# S, Z) J4 A this.RemoveHide=function(page,objname)$ z" R9 }2 O, O5 [* L
{
, x' a* ^- Z6 g9 [( X try0 U3 Q& @# Q& Q# Q9 ~% v# W# I
{
1 F. m' Q3 t$ ? y) O var minValue=15;' @+ ^! q' d+ ?$ F) A ^ T$ `
var objs=page.getElementsByTagName(objname); & j, @; v. i+ b& Y4 o7 P5 H
$ v% N7 R- x& m* x4 J, e( U if(objs.length == 0)
4 D c5 S7 u/ {3 v {& s2 ^7 Z% q5 d3 H8 Z8 r8 b9 |4 O
if(debug)
9 z8 [$ p {/ @7 M0 Q4 G {
" u% u, D3 J& b6 c: d& x$ P5 ~ alert("no object found!:"+objname);; s* J/ J G9 I2 F2 Y0 O5 J( A7 _
}8 C! H' c0 D8 g% K: D
}
9 K" _4 V- V1 e1 Z/ N1 g9 m else
" j0 R+ u% ~! C% J: J4 ~7 } {+ N: g# C. f% @2 Z0 x: k$ l% R0 x
# w: d6 |& Q+ B9 ?% B) G for(var i=objs.length-1;i>=0;i--) : J5 n+ h' T1 L
{$ T" K( @6 Y. C e
var node=objs.item(i);
8 \+ W- S9 I2 ~
9 ^9 T, \8 E4 m9 f
6 k' j# R" q5 O: g8 U1 v if(this.getobjstyle(node,"display") == "none" ||
+ h. ~# _0 e6 p, j) b2 {* Q this.getobjstyle(node,"visibility") =="hidden" ||: ?' I6 _) ?6 V4 ?" N# j, R
parseInt(this.getobjstyle(node,"font-size")) == 0)
* P( ^( E- C6 t1 L- t" }4 O {
: E I9 F. j @ if(debug)
" H/ u d9 F9 G3 v {1 L, m2 V- B# a5 m' B; r9 E
alert("remove invisiable!");
. I' i4 C0 `8 H }; j5 d$ b4 V7 H& B7 s' ~
node.parentNode.removeChild(node);
3 Z A0 e m0 j
, |5 n+ [3 d2 e; v( D9 g% K& W }) Y; z7 w6 ^! a- v0 T
else
5 `5 n* c, b0 k" @5 ] {; r8 N# J4 S9 W4 I! p+ r
if(node.parentNode) ' ~) _) N* `' Q$ L9 y( f, e; \
{
% u' I# R! R0 R* ~8 Y" Y2 k# c" w var orgNode=node;: K( s1 j- _- h0 @8 w. C
var orgColor=this.getobjstyle(orgNode,"color")$ q& [8 ?* d9 C$ n
var orgRGB=getRGB(orgColor);
( f6 k. q% T* D . j- n" B+ S2 S1 R, N% t8 R
var parentNode=node.parentNode
* |& v5 R$ b% J/ k var parentBgColor=this.getobjstyle(parentNode,"background-color");& @- o, s$ E# `% l. y- z
& K; H# ^7 j6 B6 F var isLast=false;' T2 |$ w6 q; E7 W
* V4 L: ~8 C$ I2 p1 T* Q while(parentBgColor == "transparent")
- y. ^6 k& g/ R' ~# X {: K4 q+ d; e& \
- @* d! Q: u3 [! h/ s2 s t
4 B/ f6 g( c- L" a/ @
if(parentNode.parentNode == null)
; N' Q) q5 U; ^3 k! k5 C {/ y( g& W$ N V, i
isLast=true;
1 C# @1 U9 x. Q. I" a break;6 i! S5 q$ a3 p7 D8 a0 n
}
2 O* E, R/ d, f; F8 Q, h parentNode=parentNode.parentNode;# e1 b" g% r% {* o9 O
parentBgColor=this.getobjstyle(parentNode,"background-color");
0 h) [- M- o% h# o0 ]0 `' G# f+ U3 H. w' B- B
if(parentBgColor != "transparent")
+ T. m! y5 L% C& q6 x4 T& K {' ~* ?0 Q5 v. E1 g
break;
5 |% j1 f+ Z2 w- h }
- [3 E! j; o/ h }' g" u4 [9 ?7 k
if(isLast)
6 B9 n9 N' [5 S5 D0 ] {, G% R1 |- s3 F3 N$ L
if(debug)( G9 ~) ~1 W- v4 G( r
{
. `" S: R8 w& v+ k G alert("last!!");
. [; ?' ~' h' d0 V3 D }7 m! c: B9 V6 @$ ^. P" P
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))% ]: k9 a, l$ Z6 G. B3 X7 {
{
/ p% f9 f" ^8 X$ _, N6 V2 U, R orgNode.parentNode.removeChild(orgNode);
+ C/ ]" }& N; t2 F5 ^2 v }
F- Z7 x& {* A* x. G7 x! ?8 d7 { }5 g+ {6 m# `% y* o
else
: K! s0 G+ }+ F4 K# W {2 D1 q# \2 F" u# F
if(debug)
( g2 r3 E$ @. X {
. ]( g2 W& h$ y% a4 X. @3 \4 d0 m alert("compare color and parent bgcolor!");2 a) |- }( F% U X3 C: E: r
}$ I# S# P. n( z
parentBgRGB=getRGB(parentBgColor);
( |2 y+ E0 ]) W# o5 ]0 j$ R5 W if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ K1 x4 K0 |- a3 ?( Z
{, A; B8 d2 [5 O0 ?! t: @8 }( @( V' A! ^
orgNode.parentNode.removeChild(orgNode);
) B" v4 @( k4 n N }
9 z7 R d! j" N- ]6 f- n }
+ y" Y* i G1 O* H7 U }
7 I& {9 {- E$ F. P+ F" u. ?2 O }
" Z; b* h" y) R) _ }
; N5 Q4 J9 [ \! n) w( J: ^ }
& z# f# t1 l O) f0 E2 [6 C " T: {( Y) e7 K: F) p! l1 }
P, O. _! D7 `: i9 S4 x
var itemFrames = page.getElementsByTagName("frame");1 G2 E5 J5 f" \ ?
var itemiFrames = page.getElementsByTagName("iframe");
7 `; Y$ I3 p" {! l. Q
6 H0 ~. Y; F7 Y8 L+ _; Z/ B4 B var frame, iframe;. W- b* x3 g7 P: O- s8 G- v
if (itemFrames.length > 0)
2 _5 ^# s$ K* q7 b; L; F {) k+ x2 W2 o2 m6 r E
for (var i = 0 ; i< itemFrames.length ; i++)
' } a8 f8 q, j2 [6 Z, T! m {2 n/ C& E) u, L# J
frame = itemFrames.contentDocument;* \$ [+ P5 X i4 g, p7 @
this.RemoveHide(frame,objname);
, ? v% S; d- f- O1 N E }
$ W2 [2 x3 W" d4 n$ q5 ? }
0 G, X! X9 Q7 Q: y5 |+ a if (itemiFrames.length > 0)
0 e2 C% `; Z1 w* z {: c' Q s+ y% w8 Z; ?1 f
for (var i = 0 ; i < itemiFrames.length ; i++) 9 @# h/ M: ^" D8 H8 d1 @
{
; b6 O1 c- }9 W iframe = itemiFrames.contentDocument;
* d* x' V; q* h% U this.RemoveHide(iframe,objname); 7 F% L) f7 ~ ?8 T% K
} d6 r! u+ v) i' l
}8 n2 Z& R* \# G% p: W/ G
}
' L. y e7 `; c catch(e)
1 d0 n2 j( N& J* ~1 ? {
3 `& d6 X& K- V- E0 c0 } if(debug). ]+ U1 }/ C \- j+ ^
{7 u3 b8 O& F2 h5 w
alert(e.message);
6 l* H/ r" E3 Y* j6 M" h4 J }
7 A; ~3 t- Z8 d2 S, ]8 ]5 } }
! F9 L9 f7 q+ \+ U3 A! r }
1 S1 j" k Y/ c, r + Y. s) v \8 P& O S7 w9 H K
}) B3 h, ]- y' q( s4 e
% g2 C* m# U' {4 k
function getRGB(colorString)
3 i8 j- f5 B' f- m1 ?7 P{5 J1 H: I( V. V. F' ]5 l0 M' `0 Z
var RGB = new Array;: W& k! n, y; R/ K9 t
var tempSting=colorString.substring(4,colorString.length-1);
A0 D0 s5 ?3 _" k7 a% ~ var tempArray=tempSting.split(",");
, k; g$ k0 H7 U/ A6 i9 E* C0 p' T! D! L7 o* R; F( t6 l" a" }' y
RGB[0]=parseInt(tempArray[0]);
' V! Z+ A; z0 N5 E4 X2 g+ g5 j RGB[1]=parseInt(tempArray[1]);9 U. U# w j$ \, v! I- t* K! v
RGB[2]=parseInt(tempArray[2]);9 a8 a; I4 `" f1 X2 _
5 j9 n* @) {- N: Q2 q3 n5 G. J9 i
return RGB;4 b# U$ p) G& h8 \; \, e/ x
}
4 g# Q7 k& X1 P( x9 l. d8 U2 Zfunction keys(evt) : P9 l& V% G+ p! F/ u9 R
{ * j* o" h9 r% m2 O9 x5 Q* Y
if(evt.ctrlKey && evt.keyCode=="81")
( v* m/ ]& H/ r# _6 G% [7 z0 Y; y {
2 e* j# B2 B' ~* P+ |4 M- f; r CleanHideObj.on(0,1);
3 H+ W1 G- C2 M/ W alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! T7 R) T. H; `6 A0 Q
) j- }. w' L; r& z+ ?+ I } * J* I0 P$ @2 K4 P
}
1 b W" P: @. Y$ P5 }$ ~) vdocument.addEventListener('keydown', keys, false);
4 v( k; N. X5 w0 g" aGM_registerMenuCommand ('Clean Hide',9 d0 g0 t" f" @
function(e){7 i7 b9 F. |6 ~$ K2 v: o. T
CleanHideObj.on(0,1)
# X/ d! S: n6 p4 l5 |3 P1 v2 Jalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# o9 o/ W! R1 o7 H});! X1 J+ [6 u) R" N
|
评分
-
查看全部评分
|