|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
( S6 w5 f2 ~5 T( |. v* _( f' v
: }# X7 Z' ]4 ]/ [+ _" d' \6 r火狐插件,用猴子! H% `0 L1 x1 q; j
& s3 _9 h" X! k
var debug=false;
) |$ [; l4 l( D1 e2 y2 D. x, }var CleanHideObj=new CleanHideClass();& ^, v. ?5 a% ?& l6 z9 g! }2 V) d7 Y
" I7 s( b a- [2 R$ K' [
function CleanHideClass() . d J0 T* o4 T- V$ G4 w8 H: X$ J
{ ) q2 q' c, |. f. h
6 c* w- ~" j: ~; o+ P. Z1 ^ this.on=function(id,bMZ)1 O4 v' Y5 q# A9 M3 w2 i
{
' _: p b5 A) k8 \) g4 @ 7 D7 {7 q& g8 I6 j' a, A" f
if(id == 0)7 r: n7 a% {8 `
{
/ ]0 z' Y w* y var page=/* document.getElementById("content").contentDocument */document;
* i! }" k6 r2 G) E8 v& s, v0 l% [ this.RemoveHide(page,"span");$ H' @8 V. P! z" E
this.RemoveHide(page,"font");
& S$ Q; w1 z0 x: _ this.RemoveHide(page,"div");
2 a% v" v, M8 |$ p# T! r this.RemoveHide(page,"p");
$ ^( |7 h: d Z) {! y & G$ x& u1 o0 s1 j9 @: r+ l
}! o3 ]9 D: J+ j5 e
. d9 G! `& z4 e7 `' b G. n
}( x; s5 ^% B# K" p6 i
this.getobjstyle=function(node,prop)
1 V* u1 ?) a9 T) j) B1 Y# { {9 j& w# H: X6 W1 {7 S( E
try
4 z" Q$ K2 h- M5 A* I! F) J {3 ^) G9 O$ Y7 R3 b
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& y- _9 M# f; }% i a& |
}
2 r% V0 i/ F; W/ b catch(e)2 y3 y# F7 C3 T( h2 o
{% H: c$ W4 k: o: K P
if(debug)
5 D2 Q3 u( a e* S2 {6 _" _ {
# T7 ^9 z7 G* b5 \ alert(e.message);( i K8 `' O' R/ A% X4 g8 }
}
. o. J% `6 ?8 }; L+ p& A0 b ^
3 t" ^, @3 l" Y6 u return "200";
3 x x, [$ w _3 C9 i# m }
2 R2 {, `9 @" t# f+ w# A }
5 }# n7 _7 B2 H9 ]
& a. C! _4 N- r this.RemoveHide=function(page,objname). ]$ q# L4 ^1 n7 ]; Z
{
7 g) H2 ?- o' m# v$ ^$ R ]6 @# x! J try
/ E) P/ l$ `5 ^7 b: c- h2 d+ @8 u4 N {( s/ c i" M+ z* m" O' n
var minValue=15;
% J8 F& C9 U0 y var objs=page.getElementsByTagName(objname); 2 S6 K$ s9 z/ }
4 m: F6 l P1 [! E
if(objs.length == 0)
4 u* n7 Q1 |/ ]% u1 S {
. E, I$ i. f& e5 ?2 y# A if(debug)
1 a+ O( g6 @( a {
; |7 |7 ~* d0 w* ^+ z alert("no object found!:"+objname);
4 j3 I% D- k U2 c) f1 P3 c }
3 ]) \: }9 n z3 O1 @ }
9 H1 L) W) i3 n$ |/ n) i2 | else8 D# V; S9 k3 ?! t
{5 \; B) x# }9 j4 h( Y' T; g9 r
- y% x- b/ [# J7 A7 c) M5 R for(var i=objs.length-1;i>=0;i--) . F2 ~. {8 ]! o( n
{8 r$ P2 F ], g
var node=objs.item(i); ( e$ O! g# j# Q( Q2 d1 c
' n# P2 Z% ?! P" G0 Q* X 8 e0 z& S0 x5 _/ Q$ \
if(this.getobjstyle(node,"display") == "none" ||' H. R( g8 M* ~7 z* ~! G
this.getobjstyle(node,"visibility") =="hidden" ||
# Q% y' s9 o2 k# A- P k parseInt(this.getobjstyle(node,"font-size")) == 0)
+ I' \- j- U7 P; d: v; Z$ U w {2 W7 D4 z1 L3 E" \1 s6 D0 r) I
if(debug)
. D% ?) L( J' u" s& @2 z/ r+ q% | {
* C$ s/ P1 J/ X+ d' ]! `, p- U6 U, } alert("remove invisiable!");) Y& n1 a- F) x# P1 U0 o- e
}
2 f* D4 M1 }& N) i node.parentNode.removeChild(node);9 ]" T# g: r2 `$ Y9 ?9 V, g
( T( l$ _* x8 I& R; j, c) O0 q2 ?
}4 u5 u# a* M' x5 N
else
1 ^6 U2 |5 Z c) ~ {
7 i' N# V3 Q ~* Y2 `% ? if(node.parentNode) p& u4 X( x) S A: P7 D
{
) C3 f8 j" C% P& t9 U- k; x+ y$ L var orgNode=node;/ o, p/ ]9 P7 o$ T
var orgColor=this.getobjstyle(orgNode,"color") C P) v3 E3 K- x+ B4 N( g0 S7 r9 n
var orgRGB=getRGB(orgColor);
9 ?* e) }( C( H- b/ g
s# M3 U) z/ B' } var parentNode=node.parentNode
3 T u; @. L3 V$ C" f var parentBgColor=this.getobjstyle(parentNode,"background-color");
. C) ^. k4 `- D1 y- `( U 8 Y5 f* S2 h& |+ i
var isLast=false;
+ o ~+ H$ |: [ V6 B) V* M
7 w2 W$ \! P8 W* c0 K) i1 e/ m while(parentBgColor == "transparent")
. f8 X7 A( Q3 ~; n2 W! J( W {5 Y$ B) Q# x5 H4 h% z
! s7 d+ _1 z$ [- c7 s1 a4 G
# W/ x8 ~: g' ?' I# | if(parentNode.parentNode == null)
. k; ~- [: E! L7 U {
v+ H. x- x! n G; m! h isLast=true;
/ j1 t [% k& E$ {' ~* k break;
# f* N: q$ R5 s8 Y0 X }
$ O( h( y* E1 E! o parentNode=parentNode.parentNode;
D2 c, R8 N1 A3 D* O$ M$ } parentBgColor=this.getobjstyle(parentNode,"background-color");
% E: i+ D- {8 U5 C6 ^0 G" X* e5 Q0 Y9 v
if(parentBgColor != "transparent") " r' b+ |+ Y U8 c
{
+ T" v0 |2 D4 v1 | break;# x3 h+ [" O$ \
}
9 P) V) I& K" p; _4 r }
; P; G5 N& a, C8 L# r$ e4 ` if(isLast)
: M# [6 e& n1 K; S, M {
6 w( l2 {' N% z1 f if(debug)9 h y; \ c: a/ X% e& U0 N% l
{
% P- b `% ]) E alert("last!!");2 V2 e) C3 X$ W( L r* m
}
( n* W- g( D2 u2 f* G if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ v" \) J' B$ c2 n
{
$ F( c; E L$ g$ j4 s8 [& Y6 U! Y orgNode.parentNode.removeChild(orgNode); O" K! d4 a. I. {# |7 L
}" Y7 d" F4 L' Y$ d. B1 b
}
: n- ]1 ~! C5 h$ U1 U7 \ else
4 |5 V- Y& i, S5 p7 s {: q3 q; x6 w* e% k
if(debug)
' ], v5 q' d, A8 A: n {0 V) _. E# K& k( p
alert("compare color and parent bgcolor!");9 M- A6 `+ m! U
}
1 B, Z8 X6 ]! m# h D parentBgRGB=getRGB(parentBgColor);
! ]: ?$ z5 P/ _. ]9 V) v if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 a9 m H" e6 x: G$ ? M' K
{
5 H0 N5 A% H1 |3 W4 ], f. D' m orgNode.parentNode.removeChild(orgNode); 0 v" S) L. D/ ]: V3 @
}
) ]/ |# i" k1 ^( i }
; f2 `9 M7 N) X4 \; ] }1 \5 w4 A; _6 k% V/ V+ K; X6 J. O3 h# o
}
0 X2 _! o+ _& D" p1 T( e) O }* w" A9 p: d. r8 {9 V' n! z
}
+ C( ^ {8 P' B5 p# u7 P
1 p; s$ C6 k. k; Y, k7 D
( M! q% X: W& R9 x7 _7 o var itemFrames = page.getElementsByTagName("frame");( J c2 T- o6 r2 H% M3 ^
var itemiFrames = page.getElementsByTagName("iframe");
) F$ ^, a7 d7 _; m
! D3 Y q, d. q1 L I var frame, iframe;- b. q* E- G& [/ e( r* A8 i5 @- X
if (itemFrames.length > 0)0 t1 k% i' Z0 E m0 e
{
1 H. C# v1 m1 h for (var i = 0 ; i< itemFrames.length ; i++)
/ l( ], R/ _. u$ K1 `4 { g: c {
! k& I7 S$ @% m7 M frame = itemFrames.contentDocument;
4 @2 A+ e5 }8 e: T9 W this.RemoveHide(frame,objname);
2 p5 \/ r2 T) Y5 P, s }
1 R2 i. V3 ]" o T& ? }( ~* G4 N2 @# P& W' B8 o- N
if (itemiFrames.length > 0)) K$ \* v; {" v# I7 T1 |5 i; {
{2 {" y) Q' n6 c' t
for (var i = 0 ; i < itemiFrames.length ; i++)
8 n0 F! H+ w: A% k% h { m7 I8 M% i5 h& C; a
iframe = itemiFrames.contentDocument;& y/ v5 k7 `$ P
this.RemoveHide(iframe,objname);
3 t% z2 L) Q r- o }8 x% n6 L; R* }) E- {
}( b( P: ?* { Q! w; a
}
7 I9 a1 l: v, q/ k7 l. s; S catch(e)8 ?* z9 a3 C$ i0 J1 h$ e: I7 j& h$ `
{) N( @- h% a6 q' g0 ]# A
if(debug)- c- r# |) {9 \8 K, p
{
3 `' N, }+ W. w' n" r& O alert(e.message);
6 Y8 N3 q5 g) z5 a8 \$ u% G }
) T( j! l* ^2 A }5 A6 P- j& |2 V
}
$ b4 e7 b. p: G% Z: i, n2 ^ , n# K, {9 ^3 C0 x% y' z) ?* ]
}# p1 I' s7 `4 Q$ U$ s
! ?- [5 q1 h! ^0 {0 U" V7 E
function getRGB(colorString)2 K" E; e3 O5 @, \. I: Y% i+ Q
{$ c) i, D( m! H) f" V
var RGB = new Array;) F' y$ o; {# c" t+ M, X
var tempSting=colorString.substring(4,colorString.length-1);5 P6 K& g- W2 r* P, R- a7 Y
var tempArray=tempSting.split(",");
3 _, r. B3 f! T2 z6 ?$ q" {9 n# R- _4 A
RGB[0]=parseInt(tempArray[0]);
, A0 ^% u7 i5 P. ^ b0 p RGB[1]=parseInt(tempArray[1]);
& }% Y5 \2 }: k) d6 g0 a6 S" S RGB[2]=parseInt(tempArray[2]);
% I1 |) l) E: ~! O" J) ^
0 H1 P- c1 j! _, s return RGB;
/ q# p& F9 i$ s6 z2 G+ n}
$ V+ G: b. `$ E) `function keys(evt) 9 x% l; q/ U" `7 y$ I. z; h
{
+ [% o5 y8 |3 r A1 m" U. k* b if(evt.ctrlKey && evt.keyCode=="81")
C* h2 ^7 j# e {
" z9 l8 J/ n, V& O CleanHideObj.on(0,1);
$ N/ j& P$ D+ y5 u& Z! S" C. W alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & M# v* K* K1 r6 B
. Q8 ?! C j0 ~' a+ O9 z& K3 q }
K9 H% n$ j, D }
" v, e5 |% h1 p! E% U x2 H& j2 I' Adocument.addEventListener('keydown', keys, false);
G; X, c, C5 S3 Y5 D8 _& mGM_registerMenuCommand ('Clean Hide',
9 s4 H' C/ j. g5 u# e1 E* qfunction(e){
. F8 ]6 U7 Q) c# h( Y$ GCleanHideObj.on(0,1)
# Y- B9 N6 M& B- F# `alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ J& y$ Q) A1 h$ g- V( R});
# }) R( X# k4 \& ]5 d |
评分
-
查看全部评分
|