|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , ?' t. O/ J9 ]& ^. `3 c5 K
% w d. |+ t+ @8 a* A火狐插件,用猴子' J! [! x7 O1 G( N/ g4 C' W9 [
5 a2 { H' J/ D" G. S$ o9 D8 Z8 T
var debug=false;
, F9 w5 u8 I' W: J$ v- e: nvar CleanHideObj=new CleanHideClass();
* X1 ~% T- u: s H, u1 V; g" {$ K$ \
function CleanHideClass()
; n8 k' R, A1 ]* C& N{
. s' t4 U' _+ P# h
: j6 P; q( k/ \! @0 Y this.on=function(id,bMZ)
- v2 O8 T" x$ {2 l. J {
( F2 B" E9 l+ c. c+ y, a5 D
: ?+ w5 Q- b; F1 h+ X( l if(id == 0)* ^2 [2 U; Q2 c6 C; s) m5 K0 z4 y
{
5 B; |. L& K7 {: l+ {0 | o var page=/* document.getElementById("content").contentDocument */document;
2 Q% z& Y/ a5 E- g8 Y$ |" \ this.RemoveHide(page,"span");
& @2 u6 z* `. P w0 r this.RemoveHide(page,"font");
( U5 G# @6 C8 C/ ^, ] this.RemoveHide(page,"div");
" t" G1 A% H' m9 P: k this.RemoveHide(page,"p");
' ]4 }9 w2 W8 ?4 }4 V
8 X/ X9 i1 e: w* s1 Q1 Q5 ? }
6 ?) \ f3 d7 S/ Y1 q 5 E7 e3 R4 E+ x! ?3 s2 H6 W
}( Q: w9 I' e5 ~9 x- ?& a, H
this.getobjstyle=function(node,prop)
4 A5 G) P8 v: k- g) r {
6 ?# X( X% o5 M% H, n try& f& i) T4 s& ~* S2 v7 m) G* L, }
{- C) f" P( Q! [2 o" T
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
: [/ I! c5 P/ t. _* o3 D }0 Q; F' B/ w) F8 B4 N+ H G
catch(e)$ Z W4 L; X3 l* p7 A7 ^+ _
{" X( S8 U9 B9 G2 [3 ~6 y
if(debug)
, n) q. i8 p+ {1 z, P {
' q9 q) V/ D8 L7 ]& l( `$ ?2 b; b alert(e.message);
6 I5 ^ X& o9 X& Z8 R" c2 p- U, X }7 o6 d6 J4 z$ W& Q' S
) I: y" B- c$ a1 T4 A ` return "200";- n0 _ B! k8 v& s$ l, c4 d
}
( V( j; I9 q, x6 N, _ }) y; W3 g* j2 E: J R
2 r+ b) z! O5 u' h+ n7 v this.RemoveHide=function(page,objname)
7 A+ [7 t- V' x {
5 y& H1 t% m5 U, B8 ^; C try
+ N, b& `1 p' G {
0 f' d7 X8 v- X) D8 l var minValue=15;
9 @& _/ V; q" I3 i) |0 s var objs=page.getElementsByTagName(objname);
$ l" J$ l/ h: ?" {3 ^( X
6 _( @: ~9 i3 r* Z if(objs.length == 0)
4 G1 L& f n P2 D; D8 ^' X {) Q! N: D$ v. E0 V. I! Z
if(debug)7 J3 h/ E7 C+ [8 p( U9 B+ r) G
{- o" I0 J3 i( c q* G
alert("no object found!:"+objname);( ~( ?$ ~0 [- ?5 r( @
}( C! Y6 k* m5 J, h) m
}
7 l# D1 W& X: M else
# I4 l% M3 c) ^, |) t* U {# Q4 q# ]5 Z4 s9 _2 \8 Q
' G0 r' `2 l! e6 t* m Y
for(var i=objs.length-1;i>=0;i--)
( L5 Y9 |9 A' t6 i3 b/ |1 {3 o" Z {5 q/ {7 d( s1 }+ ^, j4 `& M( X
var node=objs.item(i); - w7 X" |' m1 k- s; t& ?9 `# ?
: L* g; |5 l$ `% s8 U& w ; @" i+ G3 q$ Z' K$ r0 S. t
if(this.getobjstyle(node,"display") == "none" ||& e q7 A; z1 V/ k
this.getobjstyle(node,"visibility") =="hidden" ||! e# H0 s1 S2 Z( e3 a
parseInt(this.getobjstyle(node,"font-size")) == 0)
6 R$ F- P% J+ z) j5 q. F {, |0 K# [5 v [+ M, F- W3 Y
if(debug)0 x8 _# z8 G6 V2 j! E/ A! d
{9 |8 ]7 B2 `7 @, ?! A
alert("remove invisiable!");
& Y4 {2 q0 V- A& y }6 m8 ]$ D! E, M& }+ u
node.parentNode.removeChild(node);# X, H+ X/ J7 s4 s! Z
0 R( W+ O+ Q* V, N0 `* {; }, m8 D }
! Q6 ^' G) h' ~ else ! o c1 @9 J# t+ J0 A4 z: a( J6 g
{
- N2 b% I7 L |( i* w# l ^- N if(node.parentNode) $ V8 M+ |$ H \+ d2 Q" k
{9 }/ n% |1 Z( y# d) g$ t9 {
var orgNode=node;
% H2 Q1 [' g2 @& z# W9 r& @ var orgColor=this.getobjstyle(orgNode,"color")
* m7 {, |0 S+ T" V var orgRGB=getRGB(orgColor); 7 ]' I% ~1 M9 M9 ]* K& H
( T- l) d- y5 q3 e6 ]0 Q; V
var parentNode=node.parentNode
1 ]3 k' w; p1 a) h. P' } var parentBgColor=this.getobjstyle(parentNode,"background-color");
* k, d# E: v% W& W9 _! F& W ; P; k, l" ~9 }
var isLast=false;
+ @# X2 ?$ \/ S r$ C
. \8 U: e& [2 h2 M5 } ?$ U while(parentBgColor == "transparent")
" `9 r7 q7 H6 Y& l/ G' W! _' s/ v {
$ d+ e5 t2 p! x% B, y $ z; _' K4 w) ~ p& g0 g, R
2 J- V/ t' M) F. h if(parentNode.parentNode == null)
- C8 n3 a3 E( @7 T {
0 e+ u y- H* D4 k isLast=true;
! [# G. { y8 l break;
1 U& d5 `/ c2 a8 T0 W2 K }, H2 d l" W* j& A, z/ K% \! \( V
parentNode=parentNode.parentNode;
4 k6 d. |$ n; K4 R- I6 u parentBgColor=this.getobjstyle(parentNode,"background-color");
) y( f5 [ ^$ A9 ?* K0 J5 w$ Y1 ?
7 f% A: _, n/ p if(parentBgColor != "transparent") & L' s" o! q0 b
{+ _6 K( P% v! J0 q
break;
% S4 ~- C7 ?9 ?% y. b X. X }
% k$ B& c j% E3 p& e }9 B" J' ?% }* R; E# r8 p
if(isLast) + O9 }/ L A3 m
{
) j3 h: l3 P+ C W( G if(debug)
( k; F6 a+ ^' L" C% A$ `" W {( p7 k9 N3 i s6 \; p
alert("last!!"); ~3 O' s$ g) p
}& c- \$ @( s$ X* Z" C. T
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): a! X# k9 t o, {, s, S
{
' C; |5 I1 X. y- y: o; X orgNode.parentNode.removeChild(orgNode); 4 d7 `, M* h# L& i
}" J# |+ D- ?, k
}# B' x2 T; ^1 ]4 G8 }! A6 ]
else. I% k0 Z9 c& Z% x2 \% W9 c! D& F
{
c& R0 V# l x; j, P9 \ if(debug)4 i6 O$ e6 X0 h1 f3 u( r
{
; m7 y! \' H2 |2 a$ A alert("compare color and parent bgcolor!");
7 y1 @# }# t; O ^, O: q8 J }
! L3 J' ?, T% [( Y4 H parentBgRGB=getRGB(parentBgColor);
. I3 b4 |+ w |( L2 m2 { ] if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& |5 W* M+ S1 I) u& I5 S {3 a/ ^ n" r3 @- [7 H, \& G0 ~7 _
orgNode.parentNode.removeChild(orgNode); 2 X# v* a( h [+ |9 _% I X7 J
}2 h: m0 }. E* w9 b* c7 t
}% Q' G& e2 W/ O! c/ x
}9 H0 F, `. y8 \
} ~# N. v1 b* ]+ M6 v5 R
}9 J+ w- y& H' ?
}
0 C+ b# ?' ?/ `: n# M9 V
+ g: q- g4 _+ r2 ?
: @$ ?7 U9 z7 v/ u, a+ G* J4 x' x var itemFrames = page.getElementsByTagName("frame");
' y+ U& S% F3 Z' t$ G var itemiFrames = page.getElementsByTagName("iframe");) X$ K, D& H8 Z4 x% ^
, X' [! r& K, y" e4 Y& \ var frame, iframe;* v2 g" Y$ b% l) f$ f
if (itemFrames.length > 0)% g% k+ D/ Z, g- c
{
6 }- \7 ~/ c: B for (var i = 0 ; i< itemFrames.length ; i++)
- U+ D* J7 ~, v# G {
' I1 P& o; d! D2 Q$ y3 t1 x frame = itemFrames.contentDocument;+ K2 ^3 s2 R* `2 d$ `7 v6 i0 v1 T
this.RemoveHide(frame,objname); - W/ X) G7 r. A4 L( m" f1 Z
}. h! @: D/ I% U1 E( m1 i
}3 o9 d7 C. Y) l8 @8 O" [
if (itemiFrames.length > 0)
, _+ O# L, {! N* R/ Q {
1 |/ F+ R& J T' [ for (var i = 0 ; i < itemiFrames.length ; i++) 4 y* T" s+ G6 y+ k/ K$ f/ ?
{
0 P& |. ^6 ~: f! N. T+ t7 U iframe = itemiFrames.contentDocument;
4 T/ o6 y5 H/ q2 i5 e% `) W( E this.RemoveHide(iframe,objname);
+ y/ B S; G; h# @" q z: ?: Z# Z, Z }" L& h( h& d; `" j, X
}
* P! W# | D' p+ [& ] }( m0 p* o! |9 f' l7 \( C
catch(e)3 g6 y0 k% x" P/ o, q8 }
{
: @! O, P5 y) _* R/ Z9 T if(debug)
" E% R/ @+ u( \ {
8 y5 f$ H4 b" \+ U alert(e.message);( L8 P& }! N# K5 C4 U
}
; X+ e/ P8 @) P% v; P G }
& y5 g' d6 O" O5 T. ]% ^0 D5 V1 _ }
$ e* E, S9 F9 z* E& ^- V u0 |$ z; c7 g8 J, P+ u% `) z
}
. A! ?$ K, k, j: Y7 E/ v
) q, h5 f( |/ ~4 vfunction getRGB(colorString). X J& p3 n% S5 F6 c2 w* {0 C
{
0 A. ^0 }( j+ z4 {3 _& m, f var RGB = new Array;4 X ~" m. N. L( y4 o; I
var tempSting=colorString.substring(4,colorString.length-1);
6 u' q3 P/ B7 b" {$ A0 e var tempArray=tempSting.split(",");
9 v+ i3 ?. Q* N; E4 `5 H
" n7 G8 U0 z6 r" V# O RGB[0]=parseInt(tempArray[0]);
3 X5 y) u4 [% y: i' E: @ RGB[1]=parseInt(tempArray[1]);5 `$ [/ n% R3 [! J7 U# i5 A- S m X1 x
RGB[2]=parseInt(tempArray[2]);0 U6 T% I1 B& @. ?
# X0 N) Q! P: N/ c6 E+ F
return RGB;
4 w' h. `( e; B' I# |5 s}7 v' Z- `6 h) G4 M3 x/ u' p7 t
function keys(evt)
/ S' K* b M$ K8 ^2 Q { 8 {/ \* V I% D5 ]
if(evt.ctrlKey && evt.keyCode=="81")
+ `- Z$ X5 D. |5 O; G {
" i4 v7 W& d! ]) z: f( b o CleanHideObj.on(0,1);
% k: ]5 T2 N: ~" T alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ O/ W' d5 v8 `+ }( x B4 L/ p! O 6 e* T! U' f# m' T# E: o' U! z0 Z
} & k& I9 q9 G0 S0 m+ l& T
}
1 P; E% D* [; ldocument.addEventListener('keydown', keys, false);
2 K8 ~4 r8 ^' p5 OGM_registerMenuCommand ('Clean Hide',% _( i1 C2 q6 ^% V5 v7 ^; h
function(e){9 q1 u) C$ d! |# \7 [* l6 Z4 s7 v' r
CleanHideObj.on(0,1)
9 d; Q! j0 y& y+ M( t- ialert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");/ h5 ~5 O0 e k8 G) i1 k
});
" q/ `* M4 M& \% r+ N |
评分
-
查看全部评分
|