|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
! M5 q6 h% L+ _; Z$ ?! d5 H1 G: O6 N: S4 |( S$ N
火狐插件,用猴子& E8 M! W5 d( w9 H9 z
1 o5 Q, k2 L$ ?2 D/ Tvar debug=false;
0 C* U" v! e& h# ]- u, p f4 Xvar CleanHideObj=new CleanHideClass();
]0 q( z- P$ I5 Z, I+ t: l* |7 P: X# s$ _# _: p) H
function CleanHideClass() # i- s# L: a! f) D4 `# u$ D% J* N
{
2 c9 H/ d4 y, L) j% `
1 e6 o, E8 C4 ]" T, `& E/ m, I4 V this.on=function(id,bMZ)$ ~# |4 P% D* z
{
: D: U: S, d6 N/ q @
: j; L7 J# A& K8 {9 q; t# ?, N if(id == 0). I/ u0 w2 h6 |; \
{
5 q2 ~8 _' P7 R8 l X var page=/* document.getElementById("content").contentDocument */document;
, ]; |7 \- `9 s this.RemoveHide(page,"span");
2 L( J O# ^4 Q ?+ w! R this.RemoveHide(page,"font");
3 E+ p$ s, w2 V/ b+ M this.RemoveHide(page,"div");
: ?" s+ }# \% e+ Q# x6 b% y this.RemoveHide(page,"p");
$ N( q3 P$ w$ A # b4 [ k* `8 \3 O7 ]; {# D. F
}
: K3 Z8 R- q% Z5 W8 O+ c4 F 9 x& L% I" N6 Q0 x) u, t0 Y' B7 N
}+ D+ W# |+ j1 n! a; @9 y
this.getobjstyle=function(node,prop)
) l. F& e! i2 U; [4 }( `' M u, @6 S {
; {/ _8 I4 n% [4 b, U' b/ \- N try
# j6 R! d8 W: m2 A {
, A/ I$ |5 w7 \9 S% U3 O- D* _; U return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 L' N- z! q9 ?! |8 \9 A
}
; q) k9 `/ T5 b A catch(e)* P# i* b. N0 K7 y! l
{/ _, W# Y" Y: q
if(debug)* Y5 n4 g$ c/ D* G) A
{
- x1 N0 } s/ o# ] alert(e.message);
* j" t6 q$ B9 N8 Z Z0 h, L }
/ \# S/ L9 V: I* k4 u
3 {$ i$ H$ T- k. j0 U3 E return "200";7 U6 q6 b" ?/ ?% A6 q
}: Q7 G, u3 O" \% Z
}
/ {- u! H# Z( n: e- N1 X / D. m& }3 x# g
this.RemoveHide=function(page,objname)+ ]. |4 K% e1 g. L$ w8 t, i
{! y" v$ ^) E$ ~
try
; m4 D! L* v+ A" U. R; V {2 a& @! ?, o. M: B D
var minValue=15;
; j. o1 W$ l" w0 e var objs=page.getElementsByTagName(objname);
8 T9 E- I: x7 P; {" k. `* _0 K# K2 c. Z% S$ T5 @5 G
if(objs.length == 0) : b% h0 u+ [& D" b3 A8 x& i2 D5 R
{% c+ A+ i1 q( J4 [% w6 V1 Y
if(debug)
* }, p: j+ g! R9 F U {
" J: r5 P% P' w7 t! L t alert("no object found!:"+objname);1 X) i, e% e( i- R
}8 m3 B' j0 Y9 j4 H5 l: q
}' `& Z& v% `/ r8 b# c
else
* z9 q* s, r; F h4 ] {
3 J" ^. Q8 b u6 `- C ' K7 B$ ?5 K. d2 X! M' |
for(var i=objs.length-1;i>=0;i--)
/ `5 c2 y$ Q- N' y% `" \$ v {
1 a1 u1 P" `4 K( X4 U$ F var node=objs.item(i); % q4 y9 V* t2 @. W: R1 g
$ E( }/ |2 ^& \. f . P5 U3 @" v( ?4 R6 g( q+ ~
if(this.getobjstyle(node,"display") == "none" ||
9 F) u, _' G5 k1 W this.getobjstyle(node,"visibility") =="hidden" ||
2 u6 J# ?; t& y( N0 u" U9 \ parseInt(this.getobjstyle(node,"font-size")) == 0) * Q6 o5 _. k+ h" E% `
{
" f5 c, B. X" q if(debug)4 G5 }3 C9 i: I* F
{
+ @- m2 L: e/ J: V& b alert("remove invisiable!");
% R7 O+ c' v- q }- }9 v% V- Q F/ ^2 V
node.parentNode.removeChild(node);
) W; x. {# a, C$ G& v) `, K2 m
# f% m' b! D$ x. K }
+ O- }' B/ d& w- Y0 D$ e else 3 B; P, A4 t' l/ K2 T) d: Z/ d
{6 p/ L' w# x" W. y2 u* j7 U
if(node.parentNode)
# U" P- ~% y) g9 a {1 J* l5 G) w$ [% B( F8 R9 F
var orgNode=node;
. s: y1 v- h! a/ g var orgColor=this.getobjstyle(orgNode,"color")0 D, y; r1 t: p
var orgRGB=getRGB(orgColor); , c+ [! B& o7 t3 z$ {( L
. a# p- G8 d, ^ var parentNode=node.parentNode, v0 s1 b8 q2 E; K; S
var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 f- H t ]8 M- C0 a & ?& _. l r# F; \2 f8 i
var isLast=false;& m0 h; i9 d8 F6 y
" t& K+ B) m* P v$ H
while(parentBgColor == "transparent") 7 U; E- w( I: e
{, w4 T- N- G" G
& n$ Y% G: i+ Z" B3 Y( x% F
; o) s7 K; I- P4 H* t4 _ if(parentNode.parentNode == null)
9 Y% y) X0 F# S+ A* E {0 i4 O. n! q0 |( s0 |, @
isLast=true;
- _% G. F! u; D/ S" d break;) J* y' V# ?* j& H7 J
}
' W& E- i# ]5 d parentNode=parentNode.parentNode;1 Q3 G* B/ I% H
parentBgColor=this.getobjstyle(parentNode,"background-color");! D/ K, ^! f/ S/ p
! x$ H2 b T) s ?, [ if(parentBgColor != "transparent")
" D S5 X4 G8 b2 T( | {
) Y, D0 A- V+ m5 L# D break;
4 B1 K3 ~% N$ m, c3 ] p: w" p, a }5 d& d- r1 L9 V3 h' Y1 G, g
}& a, N1 T+ l, f5 m6 @
if(isLast)
4 b1 w1 ] i6 x/ S8 o6 } {
' }& R+ Q/ ]% r0 u if(debug)+ @5 t2 ]4 h! i" m
{
e; P0 k) t' \ alert("last!!");" s* y, q4 p7 [
}
' ~" n3 r9 V# y X8 y if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 G L, |6 @+ R j+ A- v# k {0 Z/ ~, Z7 m7 Y; x
orgNode.parentNode.removeChild(orgNode);
) @+ W) X; M5 V/ z }
# D n7 A) ^( }# j, v8 Y }& o* @: P* r) u. ]
else4 s+ A- Q5 p1 ]5 V) c
{5 M0 I" i9 [% W! V$ g' e
if(debug)" r6 q. Z, X: g' l
{
3 C# _2 M# X7 V( \4 v alert("compare color and parent bgcolor!");- a% V% w) d l$ L; f: c" b
}
( z/ D: T/ T+ A( B- V parentBgRGB=getRGB(parentBgColor);
5 c1 B, H3 s" A7 i# y4 q1 f if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 m$ b; i+ Y \8 m5 b7 W {3 @& L6 D( x& d
orgNode.parentNode.removeChild(orgNode); - Q/ [! H; {5 J. d5 x. Z
}5 F! N/ e; y3 z
}- ?" m [4 c( q) l+ Z) u
} `, t8 n3 ^+ \ o; F4 X
}
4 [% h6 N& v9 e }
5 h S* n) E# W, a/ |$ j% W4 i }
. I4 z# D6 w o; b6 e: B; I ! _: h# K+ b+ J& e- J J N z7 T
2 d6 _) c6 l; u
var itemFrames = page.getElementsByTagName("frame");
7 b4 h- M; ]8 H, S6 \* O var itemiFrames = page.getElementsByTagName("iframe");
' m6 P* z; h. p3 i. b; p , f; ^& A* N& M- I" g0 ^
var frame, iframe;1 g r) u& K0 e' N, Z" k1 }$ L3 [( H
if (itemFrames.length > 0)) W2 m6 y! e' k- y
{; q h7 c- u+ S l) e# k
for (var i = 0 ; i< itemFrames.length ; i++) 2 V, H* z% B. y6 N/ O( o* n9 z
{
$ D3 J A" h7 J: m; e0 y" }; @ frame = itemFrames.contentDocument;: Y: a! m# v/ R
this.RemoveHide(frame,objname); 5 d$ N8 n8 |: a/ w$ F
}% n; X! A5 X) a' A
}5 _: @; D, A5 V( b: m9 e
if (itemiFrames.length > 0)/ {) ^, c9 v+ d* U$ e! _7 i4 a V
{
4 _' t4 [, V' q" A4 Y# y for (var i = 0 ; i < itemiFrames.length ; i++)
8 K- I) K0 b3 r+ o4 S {
|! R" U: I; M4 g iframe = itemiFrames.contentDocument;
3 p) Z# P& F+ \. n5 Y this.RemoveHide(iframe,objname);
5 `6 m: L# ?9 b( k& `+ x, Q: E }
7 X) r; ^0 }/ S3 e }
/ l# L1 K8 R2 v) l }
% ~) ]& A' l# r. q0 I0 s2 Q8 } catch(e)1 j' Y% z7 e0 i4 g5 j8 ` d; Y
{$ D( n5 z; B6 s6 m1 K) D6 R
if(debug)
5 m/ H, K, B% U( y. Y9 U [ {
+ G# v- x# s, e7 A4 T# L alert(e.message);2 C3 S& M" E W/ z
}
& _$ V6 u; F! {( u }1 P. P6 b: u1 Y: k" U" N" s
}
6 G& R* h6 {; D& g% J! {4 | 6 e- Z: y# [* `7 }$ G" L
}3 l' A* g& s; s" W( T# t
8 \+ v$ D) P O) z4 m# Gfunction getRGB(colorString)
* v6 |6 G6 L9 u8 a1 `{: c6 d9 u, d& H; |5 @4 @ a
var RGB = new Array;
3 p; f8 \7 K3 R$ A: b1 u' J! I5 U var tempSting=colorString.substring(4,colorString.length-1);$ n1 e) G7 C( U1 C& D9 ^
var tempArray=tempSting.split(",");
# {) z* p; z% Q1 J- U$ R$ ~; r, W! J2 U7 z. v9 Q& j1 H1 n
RGB[0]=parseInt(tempArray[0]);
5 x; J1 y0 w" I5 |7 S RGB[1]=parseInt(tempArray[1]);
. o: M1 g, i; @+ [# ^ O RGB[2]=parseInt(tempArray[2]);: v4 D h, K* w; f
& m0 T/ R. B: {( j% X3 m) ]* ~
return RGB;
8 Q2 Y) o/ j9 Y6 a}6 H' O/ G' I/ l7 h/ f
function keys(evt)
, T: R5 y& ~3 Q' [+ N { + M; I) O0 |$ Y( d8 ^( X4 v
if(evt.ctrlKey && evt.keyCode=="81") ! i- x5 d8 ]) O! n) ^) z9 R( _" D
{ ' R5 A) o9 ^, [6 Z/ W4 Q& a5 K$ }( H
CleanHideObj.on(0,1);
3 k- i+ b$ M7 D* H6 | alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 Q- z5 Z* p# [4 ~8 q+ L! L3 }
5 X. e7 `4 e0 t1 ] } 9 L& j: }, I5 k& M9 {" t" ?
}
7 G0 |1 P2 ]$ [& O( F8 Cdocument.addEventListener('keydown', keys, false);
. C. m* N1 z1 e5 x5 ZGM_registerMenuCommand ('Clean Hide',
& u$ k/ k1 n9 p x- ~function(e){' _# ]8 X0 _$ e
CleanHideObj.on(0,1)
' L. j$ j& M( H1 t1 h+ xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 X% E7 ^; z! P: v9 I4 u
});
, }; [ U$ l- n3 Y |
评分
-
查看全部评分
|