|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - |! Y2 Z* d( y$ k8 @9 S
4 S% z; z' p, ]% l% }& f, {" W% h火狐插件,用猴子9 T7 V3 [" V, T/ E
* Q1 d K$ F7 h! n: p" U* ?var debug=false;
* P1 p, {% K. zvar CleanHideObj=new CleanHideClass();
, F# z( b1 d7 ~5 F
9 d1 l( t* M" S- i# ?# Z2 f7 gfunction CleanHideClass() : }+ {; R/ V/ b- @) v) U2 V
{ 1 V& H, Q% J7 J) T6 ]
5 A. P- \+ q: v3 t7 N8 L7 Z
this.on=function(id,bMZ)3 p% f: K3 U# ?$ c
{# d) ?5 E, |: \: J5 r
3 [. J& n9 ?% G- K: M7 o9 x# J if(id == 0): R0 Z, C2 c4 j& {' G. j# m
{
. \% Q2 D- X# _' d- a3 Z var page=/* document.getElementById("content").contentDocument */document;
. ^: `. J5 m8 f4 {0 d this.RemoveHide(page,"span");& P4 O0 A& ~4 M2 P( q+ S% e
this.RemoveHide(page,"font");2 K$ d3 A; {/ V
this.RemoveHide(page,"div");6 X: Z3 I9 ]0 a$ i2 a' x/ w
this.RemoveHide(page,"p");
' j9 V* C2 s) ^& x( M% I9 u9 A
$ s6 ^8 C% F7 j; p. v" V8 P( [ }8 _2 O1 Y6 O& f3 z( B
5 |; {& o. j% h }
- L: l# l5 |! `. C6 j this.getobjstyle=function(node,prop)5 \" S# t# @0 A# n& h3 ~: x* ~
{( R' p1 A+ H c+ R! @: S5 i
try
$ p5 G6 X6 m/ `* s' ?7 J {
8 [1 A7 a" F( { return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- K6 x. W5 N; O6 x p$ e* g' | }+ m8 @6 u y! E+ A9 m2 x; F
catch(e)5 a/ L8 p( R% z$ @# a/ k
{
! _) H+ b( ]6 h" ` if(debug)' J: Z: q U% y# V$ f, y4 F
{
6 x9 l6 g& @$ I! K' S4 E' M alert(e.message);; S% g( r( @% r! h1 h" n
}
: {! a+ M1 n9 h7 X4 |0 Z D4 ~* p + d- ~+ I9 z" t. u2 P5 i, S; H& j
return "200";& K5 I- V9 t# |$ x1 U! r P2 S
}$ e$ Q2 S. R5 n' F! B1 A8 l
}9 [# {! G) T* F) S$ T
- r$ K! i% T, A" @- l this.RemoveHide=function(page,objname) W7 f1 L+ V1 ^! X* Q$ n
{
8 w* y1 P9 n2 C, I( T* X try6 @3 t' A5 a* Y4 ^9 Q
{
& ^$ [3 a, ]/ z# g7 m4 I var minValue=15;, h5 {3 q8 f: \3 B) R0 K" ]$ q
var objs=page.getElementsByTagName(objname); 4 C9 b, R. b4 y$ n3 y5 B
0 r( |9 l& G* p& G Q# U
if(objs.length == 0)
! | G% @/ p% t/ f1 D {4 h: `. Y F4 `, b! B- I0 g9 c
if(debug)
A$ R' @7 p. v7 Q! A2 z {
" q$ k4 v: K, Y4 s+ Y5 r alert("no object found!:"+objname);
& [2 I2 m2 Z5 [$ `, s }
/ N5 S8 s5 M7 Y }
# F3 F; g; U* J( y1 J& R else
* z6 O6 _. e! V/ V. o0 X {- F# x4 B& y* ~( v% U
% m( B) B. f9 j+ m6 _9 h for(var i=objs.length-1;i>=0;i--)
' j- |1 w" x2 J { O$ b( \7 B2 e" ?" F& n3 {
var node=objs.item(i);
: k, m2 H1 U% x- y6 I8 O # Q7 f0 P) F9 C6 P
) R8 \9 n, a1 f% ^; ]5 @
if(this.getobjstyle(node,"display") == "none" ||4 @$ w% r& p$ g1 D" ?# Q6 o
this.getobjstyle(node,"visibility") =="hidden" ||6 T. {+ W" j$ T
parseInt(this.getobjstyle(node,"font-size")) == 0)
2 W. U6 `! B, k3 V' t9 }. N5 K {6 O$ z& Z6 O0 `
if(debug)- g2 w" r; l# @; [
{
% @' J w. z2 B/ G4 B/ c alert("remove invisiable!");
1 c$ F" t! r a }
4 j4 Q# z* @% R node.parentNode.removeChild(node);. w/ z* h* h8 u8 J, v, J
( x. F1 G' X4 I' \$ H. _8 r/ m5 N; @ } y* O: O) t9 ?
else
* O8 t; a0 l9 c+ R; m {0 T6 z h' T* l% i% J
if(node.parentNode) & G- w x( a, n( k1 ` \
{
* V: T9 Q, C/ D var orgNode=node;& Y4 b. _1 n, r$ x$ O! u' Y
var orgColor=this.getobjstyle(orgNode,"color")
Q$ a, H& G, b6 e' A1 o var orgRGB=getRGB(orgColor);
2 i6 {1 B, z, a* O: v1 P
% c2 V# P+ N% I var parentNode=node.parentNode, [' T: V' E0 R8 h0 A- y9 O
var parentBgColor=this.getobjstyle(parentNode,"background-color");" `% N* G" J7 L/ v
3 J; p6 T4 z0 F. O4 q6 i$ o6 v
var isLast=false;
( j7 A: R. J, J0 E, P- S
& K$ n0 M( H/ y- \# Y! d" A while(parentBgColor == "transparent") 8 p. ?- ]8 ^9 D4 e
{
; q+ Z. D! u+ A( R% D / u2 |- g& J! ]4 d& M
2 v' y+ k0 o' x# K
if(parentNode.parentNode == null)! R G6 S; V6 U2 J$ N
{
# Q0 U) ?# o+ Z" j% Q! ]2 d isLast=true;
3 W$ T1 N0 C7 m$ n- n" c break;
, B" W8 L1 j& m( h3 l+ @5 V8 M }. W8 l( [; b4 ]% G
parentNode=parentNode.parentNode;3 T' D4 m- r% R+ `" Y
parentBgColor=this.getobjstyle(parentNode,"background-color");, q5 r; \( A3 X+ g2 |; V# i8 H
3 @# u! d4 o9 x9 U4 n7 e8 { if(parentBgColor != "transparent")
$ g" u/ P( `3 y {. ^5 T9 q1 K+ M& I$ Y/ Y, b) I6 u
break;
8 p: z5 Z/ w) r5 g$ h8 Z# X5 c }
: _9 ~2 N- q* p4 E( v3 q) F' b }
: K" N# T# [3 F9 X8 ]" o if(isLast)
6 z! i5 J: Y! h _' j- ~3 u {: ?$ J8 |' M: r! h
if(debug)
2 f+ N& G6 b d( v' J2 F {/ B4 F, G: y7 I1 z
alert("last!!");8 x0 T* ^+ ~7 p7 L3 \: g! C4 E- `) U
}
6 c. z( {' b% j# o3 B# } if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; G5 S( I g ]7 t/ e3 Q' p {% v6 I6 k, z+ M: P1 u |" j
orgNode.parentNode.removeChild(orgNode); 5 `) m+ q4 @) I L. u
}$ l7 [9 z1 _9 M. D9 ^* l, B3 v. u) J
}2 c+ B6 F' @( [( M
else5 O( z- G6 l j# G
{+ _/ M1 G7 y9 u6 B x
if(debug)$ Z' i, r5 L& Q6 C+ E6 W( \6 {
{/ m: b7 u) F' c& q
alert("compare color and parent bgcolor!");
f2 J% ^/ k2 ]2 y' U1 Q& l }; D- T6 |5 y1 p7 Z% s9 k
parentBgRGB=getRGB(parentBgColor);
/ V1 D+ @1 z) ] if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 [% e6 o3 P7 l. {/ p0 X
{; ~4 B- ~7 {6 ^: P! ?' K; D
orgNode.parentNode.removeChild(orgNode); % _8 u9 |- C* o
}
* E( j( Y7 ^5 f5 `- a: s }
3 B& C! I2 q. o8 I }
+ A' V k) s) S }: e/ j+ ]7 _3 H: _7 m" o
} F: H% C& ~6 x$ G* F! s
}
( {* ?+ h! L( N3 K6 @ # [2 m3 x3 W* O7 r* S
0 m+ k, x' w5 J% v var itemFrames = page.getElementsByTagName("frame");
' G& V) {; h8 J# G var itemiFrames = page.getElementsByTagName("iframe");
5 \( y/ P- X! f$ e( D
. u# h. x6 t$ {9 U1 c& i* V* M var frame, iframe;7 J) h5 i8 H6 B. m
if (itemFrames.length > 0)/ @6 X6 `' G: k' X* G
{
/ T8 ]; S: U. a7 B for (var i = 0 ; i< itemFrames.length ; i++) ; U/ H% R8 L/ l& n u0 m; y8 n
{
( a% E% r. ^9 s G& z3 C frame = itemFrames.contentDocument;
- j6 Q. ?8 a) L! v8 M0 k this.RemoveHide(frame,objname); 6 { m& M: v+ \ p8 T; ^
}/ x8 t" z0 f5 u
}6 G2 n; |- P. Y2 \& B& E' [
if (itemiFrames.length > 0)
$ r& j8 V( w8 r7 g0 @ {% I6 m2 M6 B( J/ ?
for (var i = 0 ; i < itemiFrames.length ; i++) 6 k. a! x5 |" E
{
$ S. v, b. h* S$ @- @; E iframe = itemiFrames.contentDocument;1 r! t/ m% ]* ~$ m. {
this.RemoveHide(iframe,objname);
1 B- {* j& S1 {. `7 n4 d8 _, c0 x }, n! G4 b. F* s1 S
}
5 k8 L( _# g: g8 } }4 ]' e4 q" V* Z3 Q% H
catch(e)% L( L. |! g, E. H
{6 b0 x t6 O2 [* s' `( N' L1 a
if(debug). Y A0 m& ^& p/ W/ O
{1 @$ C9 I1 r: L7 {% d8 ~
alert(e.message);
4 @) @6 L, N7 d0 f }) M4 n6 S9 c0 b; d7 V' `2 g! i( m
}4 C, ^0 u" A3 t- ] R
}2 G: |- c8 p9 a: \: c4 ^+ P
* l/ s$ a( ^! c
}! E/ |, S6 c- |& X8 r' P
% k& l: y- o6 G, e$ B: L
function getRGB(colorString)7 D! o, P- ~% n" i2 U
{
; ^. t3 o! O9 i3 k1 G# I7 Y var RGB = new Array;: J+ `3 S, L8 w: m W' r0 M
var tempSting=colorString.substring(4,colorString.length-1); f7 _( w9 s- B% u% t9 t
var tempArray=tempSting.split(",");4 ~* m R: c4 s" r- ^/ G
# @4 O: F$ u- |0 z* `
RGB[0]=parseInt(tempArray[0]);& |) E- G: F5 m% ~ J8 C3 o; }+ s n
RGB[1]=parseInt(tempArray[1]);
2 f H" Z7 [3 K* B* N RGB[2]=parseInt(tempArray[2]);1 }5 n7 a3 q- \8 K6 f7 n
. @( [5 Q+ A' L' _ return RGB;2 j6 q" i: j" U( o
}# `; Q/ e+ _; J: y M0 {
function keys(evt)
3 z4 o6 `6 F/ Y% Y3 X1 F {
/ B/ C! I; `. g+ W# { if(evt.ctrlKey && evt.keyCode=="81") & D6 K: ^! R8 ]& L1 k
{ # d$ F' v' i% f
CleanHideObj.on(0,1);
, v3 E: b# f2 v4 L- X1 y alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); " n6 G+ s2 j+ B) ^0 o( X7 g* i
) M$ \8 G/ B; l+ D5 n) K+ ^1 m" c }
# @% ]" ~/ d2 t6 D4 J; H( C5 o } 0 q* a T' N9 _: {3 d
document.addEventListener('keydown', keys, false);
6 b+ `, w5 Y+ Q4 \3 q/ w% T" DGM_registerMenuCommand ('Clean Hide',
5 L5 r3 {+ M0 q& n! ]0 `function(e){
# a; q2 r) V8 P6 fCleanHideObj.on(0,1)
! V/ f. e3 F/ e8 f1 }, p8 U3 _alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" a0 j: H, ?; y0 |' w});. P K: l+ p: n7 Z% H, Z; a
|
评分
-
查看全部评分
|