|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 i; ~. \9 p9 j- x( v: J3 M( Z: V$ k% p/ `) U
火狐插件,用猴子
: e) O4 Z q9 W5 g( U
# w6 I3 f t0 a3 @: Dvar debug=false; * s: O8 R$ `1 R8 @5 _) O- M
var CleanHideObj=new CleanHideClass();
7 R+ W9 \: @$ t) B4 h6 \2 x5 Y3 j- h5 v1 d f V1 V
function CleanHideClass() 6 z) c; [" L. z. s4 a, a
{
. T. N* s8 Y6 Z. N' | 7 q0 _$ Q" }; g( \+ A; s( C% A
this.on=function(id,bMZ)+ o: g) X, ~. v" j
{: W& @& _3 z/ ?5 F) m
! i4 `+ U. l$ l q) Z5 ]& ]* r if(id == 0)
. J' E; ~8 ]! K4 _: ~ {/ k$ I3 A* h8 H N B' s/ q& S
var page=/* document.getElementById("content").contentDocument */document;
+ \. v6 }% Y; i! J this.RemoveHide(page,"span");" B0 v# ?9 {$ t2 S& R
this.RemoveHide(page,"font");2 C y$ p4 w3 l
this.RemoveHide(page,"div"); e7 C) }" W) J1 Z
this.RemoveHide(page,"p"); @- W% j- z$ ]/ t' g, d
- W7 q" |9 R) s5 k4 B* S9 A }8 }% |. |1 m4 e1 s
( v h1 y( {$ s' Q6 N
}; a& J& i2 Q4 T/ o2 B: R. a. N
this.getobjstyle=function(node,prop)2 b2 D j/ p6 f7 K5 ?
{, j% | ^4 c. s5 k% R3 J) ?8 r
try9 ~3 B/ ~3 V6 G* L! y1 u3 I1 F: ]
{
2 P U/ B- R1 J# s& Z; i return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
% Q( v$ P/ A( Y, I3 Y }
: g! V$ `$ e. Y: b; R* y. Q catch(e)
9 `. c c+ b3 x7 c4 O7 W {" { b; J1 b- j! e2 g# X
if(debug)( @/ k/ l" y. \2 S0 S
{5 m. \9 G# a5 j3 y$ M5 a8 d
alert(e.message);
5 z; `+ ]. v- ]* I }7 ^" @6 l6 Z: n2 [1 E! {
7 r) E1 y" w: w3 c7 e' Q return "200";5 }! ?- p' p5 Y) c- u+ n
}
. ~) P3 S: Z/ L+ T' F }% b' h$ D3 R) W6 R
" a# i; o/ j1 w9 v+ p* d! K: @
this.RemoveHide=function(page,objname), O6 D3 x' e. M5 S
{" z% o: Q& m! b! c; R9 |: m
try* a0 B+ R' e6 X4 O# |% L0 n( b; n% o
{* k# N! t% n; h$ }6 l% w
var minValue=15;# Q @/ W" w) d
var objs=page.getElementsByTagName(objname);
6 }% Y: ]1 ~5 j
( w+ d( \* V" c if(objs.length == 0) & P+ f. }- X/ z/ F
{
: }, @! @& r+ H, Y- p9 S9 ^/ a: `1 ? if(debug)
# h! q- z2 l* ^5 e$ f+ l5 v' C q% D. Q {) C2 j3 ?1 f( X% y8 s( O. g+ X
alert("no object found!:"+objname);
* O! k5 [; H$ h" @0 @5 v }
: Q# C# Q0 b+ D: V" I" j0 A }1 _# R3 z/ z1 K' u
else) \' p d6 N8 N- w
{
+ O" u2 H* E' i+ n
. L' ~% p* a: w for(var i=objs.length-1;i>=0;i--)
) d9 W4 v3 C2 N" h {
5 R' o: P7 e7 u) l+ x var node=objs.item(i);
* j' K! ?; f. _ * c) _$ }. L) k* k3 y
; w. w: R7 s a& m# i( D& z! E5 W( @
if(this.getobjstyle(node,"display") == "none" ||7 q- ~2 i' G; w
this.getobjstyle(node,"visibility") =="hidden" ||
) G$ |+ Y6 G3 K parseInt(this.getobjstyle(node,"font-size")) == 0)
! w( g7 c. r1 }! N {
2 p. U y( r$ T! G' O if(debug)- E( Z$ l# ~; Z
{
9 e$ k" X \/ m3 m# o9 C alert("remove invisiable!");
0 D4 ^1 \5 s) C: U; m }/ v4 j) k1 Z- f5 Q' H' Z
node.parentNode.removeChild(node);
/ q. S$ f Q! T) g; ` & N a# a3 n6 h
}
; R7 X& T/ C& }6 d: ^6 t8 l else
/ Q w4 u. S! U; | {5 c+ L1 x, R- r; }0 K
if(node.parentNode) # J& Q' T, Y. ^
{
% T5 q5 P3 V, h1 X! N var orgNode=node;# s+ Y$ F3 q1 i, X
var orgColor=this.getobjstyle(orgNode,"color")
" r. V0 k7 h; `' V. I y- j var orgRGB=getRGB(orgColor);
0 k4 y ~$ _. J6 F( H2 J . K8 r: M5 r4 }- R
var parentNode=node.parentNode( B |, U5 d- X: I
var parentBgColor=this.getobjstyle(parentNode,"background-color");
: g* W+ Z0 }% S2 c
5 ?1 x# U- ~- T# A- r; H: h var isLast=false;
# Y1 \1 L/ Z, V
* ]6 d9 f' s6 n while(parentBgColor == "transparent")
3 b; n9 g0 h1 t {
4 c; M6 p( U7 x7 R 0 ?' [$ M# M/ W, j: N
: x( c- K1 a" W- {1 C7 o' K2 p+ C
if(parentNode.parentNode == null)2 ]8 e, O+ p* g
{
# x9 \ c% u% J ^& z, M1 r isLast=true;% j3 a( S! U: w( p2 w+ ]" o
break;1 n# {* o* U0 x6 b% T7 X A
}
5 T7 S' K/ D2 K$ K* U) L parentNode=parentNode.parentNode;$ N+ {' k3 |7 w" v. y7 @4 T8 R
parentBgColor=this.getobjstyle(parentNode,"background-color");
# X3 a3 A+ P" w+ s/ T+ h- ] c3 Z
if(parentBgColor != "transparent") % A% F! {6 ]6 n0 u: ]
{/ ~2 n# f" q v( ?( s8 ^: M6 T6 e
break;
1 A6 \: W6 V* U, k' p! a; _ }
1 r# x/ O% q6 k) ^( I& a }
9 D& n% B1 K7 a& k" Q7 s( R if(isLast)
" J2 X" N6 g! @1 M {
: o0 h y7 [# k4 z7 d' e4 N# m if(debug)
# U6 y+ ?" r) w5 R& g5 A {& y6 l1 Y! O6 b5 ?4 _+ z+ Z& c
alert("last!!");
4 u! d- m& T. J- c8 `2 w: j }
* H, r) f' }* S4 ]' P4 M, k if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ S O5 n9 p4 O {& [6 e0 K& Q1 ]9 R
orgNode.parentNode.removeChild(orgNode); 7 ?5 \4 |! K, z# i9 H
}
$ H7 p7 a; M" f4 `5 `' q }% g2 f! n7 c: n: H( K0 {
else" Y3 \: J% w, `" p6 D: W. P( f4 }
{
6 x$ k3 X: v9 B if(debug)# n: f6 W% Z1 |( O
{
# ?2 j4 W+ W) N alert("compare color and parent bgcolor!");; f. B+ a$ i$ J E2 v: g
} D3 W9 h5 @, v; |; @& ~
parentBgRGB=getRGB(parentBgColor);- y4 @( T5 K# ?- b) _
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
o* z: u! B: g' D L6 W! ]7 s' | {
5 |8 I$ G* P5 k* n1 x3 O% F7 Y orgNode.parentNode.removeChild(orgNode);
7 X: K! O0 r9 R( b }
$ E9 K) A" C) T$ s P }3 g, s( t! `/ `! [
}2 d, Q6 O% ^8 @4 I T2 f; f
}$ z8 ]4 [) X$ w- l0 E T; G {
}' P- _7 s. Y; I i
}) W: i4 B5 ~6 ]: z
* U( j0 Q2 z; K
- P8 v3 r# q8 v* M) b6 C
var itemFrames = page.getElementsByTagName("frame");
$ B3 C6 v. B0 G0 Q4 ? var itemiFrames = page.getElementsByTagName("iframe");
3 w7 P+ V6 H% h4 H4 O. k8 ]
: E+ d2 n4 C& \ var frame, iframe;
) Z+ M G/ f" ^. _ n if (itemFrames.length > 0)1 q# r9 Y$ C# q5 h4 c
{
R( ]( G4 r: b; N' b for (var i = 0 ; i< itemFrames.length ; i++)
7 j! }2 w" W8 H. W {1 q, _* n7 a! O; l& w
frame = itemFrames.contentDocument;4 ^8 `2 C5 J* p$ Y6 W2 U. o% N5 N# i
this.RemoveHide(frame,objname);
9 r3 P! E- b+ M/ H" X6 ? }
* v( H! z7 }; z L }0 J& a+ z% ?# E- _& Q
if (itemiFrames.length > 0)
' v% O9 a, W2 }" t/ o+ `; V" b' [ {- b( m. [) P1 Y, U0 c
for (var i = 0 ; i < itemiFrames.length ; i++)
* y$ G- E$ d2 y {
: A6 e3 }: g1 c4 L iframe = itemiFrames.contentDocument;
: L0 h$ q$ `/ [/ v this.RemoveHide(iframe,objname);
1 U; `' m. b+ H' \( c2 E* \ }
. S- x. s0 [0 L* D4 U8 m, ^ }/ Q; L9 r! r, a& |+ J3 q0 v7 n
}
4 w' k" O9 _ J% i: q& A catch(e)
. c! i+ S$ V- i {, H- e# k( r3 C- N
if(debug)
. X4 g1 n8 S% H# X) v {
0 B- R! u, V9 _2 s- h4 F& R alert(e.message);
$ x. Z, v5 G) r) j; a! L }& J7 F) O. v. ?( s. `1 d0 \0 Z( q
}
* _% o2 T& y, W: [; N0 y+ s }
5 {" n, [3 W3 K; @ e ]4 o: E$ q' H + ^! Z( T9 J5 t: f6 ]) R
}& r4 Q! K& Q+ Z) l+ [
* O, e9 A9 z; E" ]% X G7 `
function getRGB(colorString)
; e2 W8 c8 {* @" o" L9 p{
3 q2 ~* H3 S5 ~- ?7 x var RGB = new Array;0 z% v6 S" Q* w
var tempSting=colorString.substring(4,colorString.length-1);' |& W& G" u4 Z: |$ C6 @0 ^
var tempArray=tempSting.split(",");
& L: W- I$ W- n: k$ g
0 i- }/ A5 T4 E! M RGB[0]=parseInt(tempArray[0]);
0 t( T) v3 @" l, ?6 K8 l6 N! F P, s* H RGB[1]=parseInt(tempArray[1]);* V& o( J5 g" Y0 k" A8 {
RGB[2]=parseInt(tempArray[2]);
3 N4 i* E! ~! T5 f, h1 X* D4 W
+ s, z0 h" J: P$ a2 y! u/ h return RGB;3 }/ X& e# `; S7 x' c
}4 f0 z, }* P. b) r
function keys(evt)
; {5 y( d. S9 M8 C { 9 Q8 u; [$ i9 ~9 U; y. R
if(evt.ctrlKey && evt.keyCode=="81")
+ m( U6 N& Y+ i* W {
% U1 K8 [3 S4 t( L5 o+ z# p CleanHideObj.on(0,1);/ o+ g W* H' @( k1 J0 y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: f9 W" d7 X' J3 N- } e/ ] ( m5 [' Q, J; ]9 P! Y
}
: B# M8 |) N& k5 q }
h1 P9 @- Y! [/ d7 Q8 E1 [document.addEventListener('keydown', keys, false);
/ k1 z3 K. R! H% L# fGM_registerMenuCommand ('Clean Hide',
" E+ C8 s- |. K0 [1 B [function(e){) ~! z& k3 h7 A1 v& C/ A% ^
CleanHideObj.on(0,1)
0 V7 [8 t9 P- ?# u# T6 }6 Malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");6 L: B: s+ o" f# a4 g3 d( r: p
});
0 M! R3 I# G+ R6 t, e3 A1 d |
评分
-
查看全部评分
|