|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; R2 }* l3 ^+ e* X3 M
: H+ C4 R& Q: k: U火狐插件,用猴子
6 [& f% I6 S, _/ S
+ H9 o" _& a" D! y( Vvar debug=false;
) ]1 _! t8 y2 W1 m4 Ivar CleanHideObj=new CleanHideClass();* c/ O- r0 w4 x2 q" ]7 i
- E+ o, B9 }' h$ U3 F
function CleanHideClass() * t7 A* n% P/ b
{
) r; n- A9 u+ ? W w# S
0 n2 H8 r8 o4 q/ U, [* D3 J this.on=function(id,bMZ)
! t/ l6 L! ^: `* E0 N9 w, Y# D {
# l+ p1 c& u7 y+ e
+ u0 @! J1 T/ o+ ~ ?1 g if(id == 0)
2 R+ s" D% ^- @! f) ? {% r/ {* W+ q4 A
var page=/* document.getElementById("content").contentDocument */document;
0 \6 }% |' y; \' ^: _ this.RemoveHide(page,"span");
* k3 H0 M' y) X7 x- E8 k this.RemoveHide(page,"font");
5 l) L9 P4 l& X6 |$ C$ A this.RemoveHide(page,"div");
t& b; _; M! W& N0 A; t this.RemoveHide(page,"p");
# M l, f+ b7 Z& i& [8 W" l2 @
" b0 U7 `, `1 h& K }
3 D* M! O4 F w+ y% {+ } $ n5 F( {/ |. c9 s- F; g
}. ^/ k4 o7 O2 R3 F5 I
this.getobjstyle=function(node,prop)
3 }: E, Q$ |1 h. { {# j1 ~( f8 W( l5 L6 S; C7 A8 {/ a# r7 _
try
" X& Q2 w0 M0 { x2 ~ {" w; k ]+ e5 X; `# f$ v
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 D" J3 O9 o3 m' y& ^3 G# x" @
}! ?1 F( \# T1 y/ G/ k
catch(e)
3 Q( r) @$ T r1 E+ S {
* G7 C5 j1 r/ H+ @6 | if(debug)& q+ B4 L) r/ a# [
{# G6 C. q- F* t
alert(e.message);" c- L1 s5 r3 L- Q, S' i
}5 C4 ?2 M5 E/ U# E7 \
9 P" W* K3 B x1 r return "200";! n5 ?) q" L* o* a' \( H
}" Z' _% H: W1 H4 ~- _1 C5 H
}
; I! c) x7 d: Y, r" ] : F) i& J/ X" ~
this.RemoveHide=function(page,objname)
) f6 z# i) {; o7 u {
/ E+ H9 v9 r" B0 @+ _) L try
( p& v( h) r* G7 F" Z/ [ {
% X- x; M8 K _* m6 n3 P3 t var minValue=15;# K. _. T- s# t( v8 o; d0 W9 W$ h
var objs=page.getElementsByTagName(objname); - _9 S& \# ?. y& y
7 U2 K1 w: r# c+ ]
if(objs.length == 0)
6 {7 ^- r$ C8 y, H# K {3 ?% v. d5 |7 ^( `
if(debug)
9 m2 s3 g) R7 l+ k% r. h. h# j) R6 l {
' U1 j, D% E: {. C' s* O alert("no object found!:"+objname);
( U6 \2 y& ^& K( Z3 @8 i( p& k& L }
7 s" n4 U2 a( U: d) E }
: Z0 G3 S, Y3 j% ]2 q( F. d else
& t* c& K' D3 F0 m {
" F1 s7 C, {. q# I & W- m, o1 I/ b1 X& P, Y7 Q
for(var i=objs.length-1;i>=0;i--) 1 T) h6 [( k4 v$ W! ~5 C8 h0 M9 V
{, V9 Y1 S' r! u# }4 R9 u
var node=objs.item(i); ' v% }* v) D1 n" [7 B8 O
6 Z) u" c/ B* f7 }+ \" ~5 e
9 |+ D2 p& m3 l5 c% i; h
if(this.getobjstyle(node,"display") == "none" ||
3 W* s! H0 D) Z+ e' D this.getobjstyle(node,"visibility") =="hidden" ||
& b B' |7 W1 s+ A9 q parseInt(this.getobjstyle(node,"font-size")) == 0)
@1 k; I# Z5 S. v {
" D. t$ j2 c0 [& x+ [0 I6 ~9 l% a if(debug)
$ N4 U) k+ o! b5 s; y( B {
; w# u; R8 e7 u) F7 P alert("remove invisiable!");1 }/ p& l; W, k) c; z0 j
}" }7 n0 q$ W( {/ n
node.parentNode.removeChild(node);% f' \. L% G+ q. B3 J) _
9 G- f0 a' l9 s" t }3 h; T9 c! v5 m( }: `
else
) h1 b9 @ q+ S4 q6 N1 ^- t {$ [/ @" ^* A* J4 b4 V" e
if(node.parentNode) ) m7 U! J1 z5 e* Q8 z. \3 H S! M. T7 _: O
{0 |. K2 K4 M/ M8 o: k! I
var orgNode=node;
. ^$ d2 f' @5 f: [0 L var orgColor=this.getobjstyle(orgNode,"color")
# E4 A# ? J& g* i var orgRGB=getRGB(orgColor); " N7 h& L) H1 w+ g
8 K) P K/ j: I, i
var parentNode=node.parentNode
/ Y% {' F1 [1 ~$ G( H: ?% d k var parentBgColor=this.getobjstyle(parentNode,"background-color");: S8 C, w% {' s2 Y$ U
7 R, ~2 w% w3 m4 Q6 W
var isLast=false;. j" d; ~3 v1 u) u8 S2 p
2 A$ H5 i% [9 e; {; A3 p while(parentBgColor == "transparent") 9 r i7 |8 ^: H% T* V7 d4 N* @- e$ y/ |
{: t+ ^1 E' s" ~: u
' ]7 S, J$ _0 s! E2 M/ L
6 e( M5 C; i. V4 l3 P$ G if(parentNode.parentNode == null)6 V: ?8 v9 L7 ^- v/ k0 R
{
. o! Q" [1 ~ d% l* H* B isLast=true;
, S8 t4 t+ C3 z* i: B. Z break;
3 A; y4 m7 n Q$ l1 p& }6 k }* K' t, V+ d9 y4 M4 P
parentNode=parentNode.parentNode;
, K8 l; J9 G0 r1 j parentBgColor=this.getobjstyle(parentNode,"background-color");
4 H8 @7 M! y: }8 `3 I1 z
+ K" ]' i4 z$ [3 v if(parentBgColor != "transparent")
. Z, {5 H+ j0 S2 L {: v/ m# h! {4 t2 Z( k* Q4 r8 E
break;$ I1 B, H9 {4 j$ n4 T+ p9 r
}5 W9 V% k" ]" ?0 {
}
; K6 o' f' s% ^* f if(isLast)
' C; ~+ L6 t/ b) e9 j* B2 [ {' L# C3 M9 k) x2 T% s( U
if(debug)" {' |1 J2 r8 R# F* x6 n7 @2 `
{* M8 ]! z8 q- N1 n
alert("last!!");
& N t! ?% a5 A& R$ Z }) f }. X8 y" t! ?9 E; }7 z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 N' Y6 X9 [6 e3 D9 N+ \ {& f4 z9 x' T& B& L- H9 {5 {. t
orgNode.parentNode.removeChild(orgNode); * m2 A W' H( B/ w) n9 w/ Y
}# I+ |; [7 K J# t. T
}
A% F2 S& s* R9 b0 p) D% [- T2 p9 N else
" W9 {8 S' w% p5 Z$ h$ L) t {; t" [2 }- I6 Y' }
if(debug)6 a/ ^0 I2 V E* z
{
6 Q' o( f* |( i' G" I( O5 M. } alert("compare color and parent bgcolor!");+ r4 g- d9 ]* ?& y, ~
}
& e! V7 N; R# _9 T' q4 m% q6 }+ \5 l parentBgRGB=getRGB(parentBgColor);( C" B2 i( t, o
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 T$ K" T2 a: v
{
7 \' p) h: O. w3 ` orgNode.parentNode.removeChild(orgNode); 9 ] U8 u5 {7 q" p; j; E8 R
}/ }/ H) z% n' g |9 V' u1 y
}! {. |% a# w) i) n
}
$ m% @6 Y$ P- j8 D6 Y5 E }, \1 j% {7 x) _' q% ~. f% P" A
}
( e9 H8 ^" e$ _ }
9 t! I. k$ f1 Q% ]
( M, { q$ T$ i G1 D
- Q5 n! y8 L% h: |1 k var itemFrames = page.getElementsByTagName("frame");# R) M. z5 Y: n6 A/ {% z) i
var itemiFrames = page.getElementsByTagName("iframe");
6 ?7 g3 C" Z2 b, H; B
7 Z6 ^7 J# [ }- E' I var frame, iframe;
) F0 ~4 C. X. o1 m8 I8 S8 s2 v if (itemFrames.length > 0)
2 T% ?6 \" S9 t" |; N0 j/ h {
3 P5 V+ s3 z3 z; Y for (var i = 0 ; i< itemFrames.length ; i++)
6 r: V+ a' T) Y0 y6 B* h& y {5 @8 a$ ?9 x/ l% e; S
frame = itemFrames.contentDocument;
1 j* a, g& k- N$ J; b, u" N7 A this.RemoveHide(frame,objname);
; k5 @6 ^3 V# q, X |: { }5 y$ o# A' }, a. |
}9 I6 I9 g) U% \- u
if (itemiFrames.length > 0)- X7 [- _$ T/ @# c
{3 a9 h- ~# _5 m3 c. X
for (var i = 0 ; i < itemiFrames.length ; i++) & s F& l& D; F( _' J6 k2 [
{' D4 b) z6 K8 O
iframe = itemiFrames.contentDocument;3 h! {' I0 h. S3 _0 Z
this.RemoveHide(iframe,objname); 9 h/ y$ s, t, W
}
) L0 a7 ~& U/ R! S6 q }; b- c$ U/ y+ K5 `$ h L
}% @$ @3 N- C! ]6 t
catch(e)2 b' s& h1 V$ x
{
+ S; I7 r: w2 h if(debug)7 y, z9 x' l9 |1 _& N5 E% U
{
4 L; {6 g& r& @9 |7 U1 T q alert(e.message);/ ^3 T2 a# y) p- b
}1 W5 s7 o. g* _* w$ ~& S( k' v, J
}8 @( x$ s, h! u3 g( J2 V# x
}
6 ]9 Z5 E2 _3 Q9 x7 `+ Y+ R9 s5 ]" @ , ~5 q0 @/ P6 i2 [& f% z1 @
}
" `. H; x- |0 R/ w3 y" X3 O, o
9 p$ N5 E. i1 ]' l2 ]- q! gfunction getRGB(colorString)
}4 L& |. ~3 @6 f1 n{
- e, V/ V9 T: Y9 z- u var RGB = new Array;. E1 e- r( r% D3 y$ l7 k
var tempSting=colorString.substring(4,colorString.length-1);
8 s9 ~: u3 e4 x) Z5 k6 M var tempArray=tempSting.split(",");
7 L! r$ ^) G9 Y* m. [
- ]0 o, `, A- [/ J/ B2 I2 v* }3 g RGB[0]=parseInt(tempArray[0]);# v6 H1 M/ V% Z9 z/ O, E
RGB[1]=parseInt(tempArray[1]);' M3 @: O+ b3 x4 ^
RGB[2]=parseInt(tempArray[2]);5 \! X; x x& |- Y1 I
9 E3 H) D5 ]. w
return RGB;
7 Z3 Y" @: O5 \' o- w. y0 C}* l+ Q8 v* I% k/ g
function keys(evt)
3 v4 y# v, [) |$ ~+ J {
1 h# m9 a: k7 |- T if(evt.ctrlKey && evt.keyCode=="81") # T0 ^0 @# p' H1 i, {1 @. z0 s
{
0 D. W4 j) p+ E/ p7 T f, P/ z' V# v CleanHideObj.on(0,1);
p0 t4 y8 Z4 W% m4 q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ c& K: D/ {( I
& }' Q: X7 K6 E; s! T6 x$ a } & j$ {& e4 S3 w3 \
} - L+ {! e+ ]) `
document.addEventListener('keydown', keys, false);
3 s' }: ?8 p2 v9 R' ^: v, yGM_registerMenuCommand ('Clean Hide',1 i0 I" }/ n0 I
function(e){
. M( z7 M* |' x& S/ s( c yCleanHideObj.on(0,1)0 v( b6 D) k J+ j- U6 | c* B6 n
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: z/ s0 D. @3 i5 h4 _7 M2 ]});
7 x! Q1 j3 v8 `: K8 i! t/ o |
评分
-
查看全部评分
|