|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
" g+ h `) |* R7 g: @* J. k! B9 d% [( O7 {1 v; t, ~5 W0 P% j
火狐插件,用猴子4 {' y$ v- i6 w. l- K. L s- c
5 x( ^6 I$ @" `5 `var debug=false;
" [1 S6 D5 U, @3 |* J- O, Z+ B3 O' qvar CleanHideObj=new CleanHideClass();) v* _" T: {* t, N, g
/ r6 B& ?4 i0 O. C, p' Bfunction CleanHideClass()
) k b5 O# k: v5 J0 E{
$ L: J$ B3 `9 d* [ . J1 b& _, X' K. L$ Y; ~9 S
this.on=function(id,bMZ)
1 a) _+ x6 y* A6 L {5 n# W6 x, _" N# ~& |/ C
1 |# ?* v* {+ d
if(id == 0)
: |5 Y8 d( b- U {
3 B" C0 q) b& n, Q& J- f var page=/* document.getElementById("content").contentDocument */document; 6 [- v6 \+ B. y) m
this.RemoveHide(page,"span"); O+ ~* n# ~! x
this.RemoveHide(page,"font");
) ]2 o1 S7 h% v! q2 y5 n' |1 n this.RemoveHide(page,"div");5 |) }4 E* U n3 W6 K
this.RemoveHide(page,"p");
$ x3 F3 |9 h3 d- @' [* ]
- w7 |& ^+ K# E }
# Y g) D5 m- y
& Y* ?6 i2 k# A1 j0 J }( d7 x- Z* p/ N T
this.getobjstyle=function(node,prop)$ H/ h5 X: B& D& X
{8 J7 U% Q& b+ H- N" _' q' }
try( g9 b+ k- p' e
{2 @4 @! }0 k! U7 C' ]1 S0 K& U
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; u3 i2 C2 g& z5 @- j m- m }9 g1 c0 G* D! o
catch(e)
9 R# b+ X1 ~6 ?5 e9 W; ? {8 v# W3 D2 T3 @8 ^5 g
if(debug)0 i$ w7 q3 t3 [$ W# c
{
" v# T5 S7 d1 a& R# m( o2 }& w alert(e.message);% V2 y% ~; ]6 O- `
}
7 q2 R$ P. p8 L3 h + n6 a& b( {, N6 ]% M
return "200";
& N3 Z" S3 d5 K% ? }
2 m: o* l- ?7 }# r: s$ ] }
8 {$ W+ O4 P4 `/ e 4 P9 ]8 ~$ t, h, ]5 u. p
this.RemoveHide=function(page,objname)% E) k! E! e0 U3 [; g- e
{
1 r) ~* r' u" u9 |/ r try
z' D4 w6 \9 W h7 F {
' `- K8 Z7 X9 I T) u' o2 p9 { var minValue=15;
2 `: {* F4 c: u; I0 j8 d var objs=page.getElementsByTagName(objname); 2 N$ [5 V1 m( {
: C" A2 C, r T L
if(objs.length == 0)
! k1 m' A4 D$ {- ~6 m6 c {
' r- o, [: _4 g# {8 y6 D if(debug)1 f* O5 B' a$ r
{$ c- m6 q* r3 _- [4 d5 e
alert("no object found!:"+objname);
. L7 n7 D5 a4 f* k }8 ^" r1 \( v _: K3 n5 o5 g
}
8 E1 ?! D0 t, ? else
8 t' _) M3 t) T! q3 _5 c {6 O6 p7 n" P5 o* E, e
1 H; q, p3 [0 W) j# ~+ s: [ for(var i=objs.length-1;i>=0;i--)
8 Z) E3 |1 Z% [8 r {$ [2 z0 q1 e5 e( u, \
var node=objs.item(i); * C) z% ~( e& u
1 P. ]- G# ]* U
5 j( h* \. }$ ^7 G' F4 x, O if(this.getobjstyle(node,"display") == "none" ||
. ~. r# f9 L, r! W0 K this.getobjstyle(node,"visibility") =="hidden" ||- s z, L* g3 u* \+ d! Q+ \" `9 Z
parseInt(this.getobjstyle(node,"font-size")) == 0)
( w" g& `7 f6 I& r0 j8 b {- x8 B- p) k% v$ A9 f# P7 N
if(debug)" ^1 \# Z9 m* J
{
6 k2 t8 R( m0 Z, ~, x8 |6 S alert("remove invisiable!");
% A$ b4 u! |( V* x& q8 K" V }
( M: I1 _* q* x' |! j node.parentNode.removeChild(node);: b" p; `2 V( G/ ~
* p3 R j$ ]9 Z
}
% a* U' C7 [5 A else $ S" _1 p$ P; k, H7 l/ c' V* O
{: C- U4 B% u2 A3 z
if(node.parentNode) % a. C$ E% z$ ?* i% Y4 e
{# M! a H" p* d1 k
var orgNode=node;, M. }" t" Q* v9 H+ e
var orgColor=this.getobjstyle(orgNode,"color")
/ ?' f& \5 Q0 u7 |& `1 U var orgRGB=getRGB(orgColor); 9 m4 | v+ R9 l$ b4 V) z
$ v* ~+ O9 O/ K, I- {( r! d var parentNode=node.parentNode
Z' l" v# |* x _7 t" k6 ` var parentBgColor=this.getobjstyle(parentNode,"background-color");
" S X6 B$ y. R
/ \# c& A/ R8 b9 Y1 C" E/ \4 V var isLast=false;% Q1 w4 a9 V' w8 G* b
# n' e& c7 `. [, A: l while(parentBgColor == "transparent")
" V& `) y2 h. h& ?: I {. R3 r" B; |8 h
3 a% N0 ~$ W; _0 r% m
5 w; R; j3 |8 G6 w) d
if(parentNode.parentNode == null)
0 u/ l: d9 `9 u5 t6 J: I6 y {5 n9 q, P @3 k8 _! d$ M# Y
isLast=true;# l; ?4 k/ C: n5 @6 d
break;
9 I! d8 E- C4 i }4 \' O& s9 b& q$ g
parentNode=parentNode.parentNode;
D3 a- E$ m2 _- [, o+ A6 ^ parentBgColor=this.getobjstyle(parentNode,"background-color");
5 u% `% E7 f2 \$ `8 I
: C0 i! _1 i6 n3 p2 M if(parentBgColor != "transparent")
1 `& [7 R9 X7 k' ~& o0 `3 u4 g {2 V( y. u' ^ P7 c3 J
break;
: R: H1 _3 z9 B% L j' I; C Q& ~ }
9 D& X, N+ k/ D }
$ U' g+ P' [* d! A/ H W c8 \ if(isLast) 6 U7 s# o# P3 w7 D: W- x0 Z
{
# v' U7 N# S2 E" y if(debug)2 ^1 H7 p( o; p
{: t, @& b- b2 R p
alert("last!!");
+ w3 k: i7 k7 g9 i* {$ M8 N1 U }
* i3 t, e! B/ ]3 h1 d! Z9 D* _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) N2 N% K# V, w. F$ p& G2 X+ o
{0 r; W( `5 k) O8 X% f+ B% V
orgNode.parentNode.removeChild(orgNode); 7 W- {3 ~( y; C2 M3 G
}' B: t1 d! |; I! K- [
} Z6 P8 D2 \8 J2 Y y
else+ { h0 Y! v1 i- G" M
{- g9 y! }% M8 j* H' X( I% M" ]
if(debug)
; N$ B. n2 S8 B# a {
0 O0 {: R" t6 r0 O! j* s alert("compare color and parent bgcolor!");
, U: k* a' ]) o' s& y }) H- \, ~" c9 d4 c1 |+ D. I: O
parentBgRGB=getRGB(parentBgColor);1 |# @( `. L6 e$ z% D0 x
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)): k1 D0 E/ L2 R n4 _
{
0 J( J& z8 T/ H/ F orgNode.parentNode.removeChild(orgNode);
6 O. S6 t. c+ T% _" N2 l2 A- y0 p5 q }
$ W [8 v; w% m, i9 e }5 P# |: Q) ^6 I& i" y& k
}# e0 C: E* Y7 L- M* `6 |& p+ J9 c
}2 c1 N* k( C% S" F
}
& L! b& |5 `: b0 a* E+ D t }: I; D4 @5 c l1 G- T
9 ]7 r# ?* q4 G3 V1 e( b / H. T, C0 l# e& n m* Z
var itemFrames = page.getElementsByTagName("frame");; |0 b }! `; v( E8 [
var itemiFrames = page.getElementsByTagName("iframe");
+ F( \" }3 d" v. G. r8 j" g
. R8 l6 ~" K' j8 E' x5 R) N1 [ var frame, iframe;
. j9 B2 t- e% N4 R! z, c+ ~. [ if (itemFrames.length > 0)
3 m: m* H2 b# [# Q; w3 u {/ E( p9 t2 y# z5 h2 V
for (var i = 0 ; i< itemFrames.length ; i++) & @; d/ J) O+ F# R+ i( a
{- E- i3 y) z+ U
frame = itemFrames.contentDocument;; x9 @" X) Z. ^- R* V+ N
this.RemoveHide(frame,objname);
. R* C# ^9 N1 V4 g }1 c$ e6 ]4 X9 N: i$ M
}3 |1 h) n; i( l( o1 ?8 A
if (itemiFrames.length > 0)
) I) ?* o5 b$ d" F& p {
x* h' s7 h( O5 d2 P$ z for (var i = 0 ; i < itemiFrames.length ; i++)
" ]( T3 I* R1 s% M' N* m {/ v; p+ h) s* G; G( p
iframe = itemiFrames.contentDocument;0 d- Y5 T/ T! [) o9 o
this.RemoveHide(iframe,objname); " S% m) W9 v+ i. O# C
}
% O' e# R% J! F1 @' V }1 g& |+ Z- U8 j w" g: Q
}
! u1 J1 ~* u! O5 F0 m. L9 s catch(e)
, S. T: z8 [2 \( P2 N {& |5 Y8 u" m$ P9 l
if(debug)
9 {! ?* c# C; n4 _+ S {
. G& g% ~! m( c/ K4 t: Y alert(e.message);
1 c" K7 ?& G' K- }$ G. P }" z3 H' d# W5 b2 ` {- n2 ?
}" C. {+ l( I& S$ f2 W& l& y
}
" T' ?; q0 f5 W$ D) v2 O( j' F) n ) B9 N+ s$ W: S I$ P2 t0 I
}' v5 R+ J2 s3 v( [" g3 }3 A# w
, i% |3 X7 Z' G' ]2 C% o5 A1 ]
function getRGB(colorString)6 z A, R; {: C6 v g# y
{0 Y/ a7 L& a# M4 r- l! I) G
var RGB = new Array;
( H& ^2 W6 \" Y$ {. _ var tempSting=colorString.substring(4,colorString.length-1);
) r0 V8 }. R0 C' B2 q var tempArray=tempSting.split(",");5 M8 f+ L; s+ y% r
I4 k, E! m u& o2 s: I4 s RGB[0]=parseInt(tempArray[0]);
8 x" ]7 a U. H) }- ^1 c/ ^/ x RGB[1]=parseInt(tempArray[1]);
. G, {3 `/ R3 @- P: N c! E' S RGB[2]=parseInt(tempArray[2]);
, G5 H" b3 K$ T* w $ n7 y2 M( v y$ B9 r( C; h5 d
return RGB;& w0 |0 X$ J J3 u$ Z. ^. }* K' L
}
- G+ }# P8 V% ?function keys(evt)
. U) @$ p7 J5 L {
( w" V7 B& o) P M6 p) Z; R if(evt.ctrlKey && evt.keyCode=="81") 0 G2 l6 L3 [' ^9 h4 W }. c7 P8 s
{
+ q s+ m8 G! H& r CleanHideObj.on(0,1);$ J4 s! s9 U) V, G" z* V
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- g* t) S2 ~; H8 ^ 7 u3 U+ O" R0 m$ P
}
( y, N6 e; k* `5 Y } 7 f* n) X: b8 S* u
document.addEventListener('keydown', keys, false);
5 o5 m# b$ O1 k' M1 d- ]GM_registerMenuCommand ('Clean Hide',
: m2 F& P0 `6 m6 Zfunction(e){
9 Y# \' ~1 |8 S# r4 U& n( uCleanHideObj.on(0,1)
: r @" w- J7 k8 h5 D M G% Malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 ?: f- k7 S+ K+ \, b" m' G" {$ d});
9 u* O0 [1 g( ^3 K$ P |
评分
-
查看全部评分
|