|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * z- W, R# O# K: g h) z' [
Q' _ x4 [$ v( @7 z+ T5 a: X
火狐插件,用猴子* c( c8 }. a j7 @0 s
0 |+ H; M2 V5 {% \" `
var debug=false; ( y( A' q3 \8 T* w$ @* F
var CleanHideObj=new CleanHideClass();
* _3 {) v7 a4 m& R
# E4 W- N& R$ Z# V+ r8 c# ~function CleanHideClass() ; A4 _& {( S1 ]1 S# w
{
" ~& D4 B9 x7 k3 t / n0 ?% i' h% \& ^
this.on=function(id,bMZ)
. @4 s! h% D3 X {
8 Y1 ^3 x) A0 [# J s / [. p" A) n0 q6 B( i8 L
if(id == 0)
- k |# |* x2 |+ ~ {
5 X1 M6 B `' M7 ~3 L2 Y2 y; S! v var page=/* document.getElementById("content").contentDocument */document;
9 r( K: x: ~% H `& w this.RemoveHide(page,"span");
; c3 E# Z$ d* B this.RemoveHide(page,"font");+ h. B) L6 u8 h+ `- b% E
this.RemoveHide(page,"div");
$ S. U+ W! O1 w! V% v8 M1 k: D& c. ~ this.RemoveHide(page,"p"); w) @) ^5 R! p9 n& h
6 V" j- T! X" q }- X; k/ f% i9 I: o
; x! h8 u; ]3 f# ~1 M
}- R( G, [9 M9 {: M4 L
this.getobjstyle=function(node,prop)* S" s3 k1 ]' R3 G. h$ p- v3 P
{
! t: x" z: _+ y7 w- Q try
/ _/ A: F7 L7 m7 A {7 ]* M- [4 J8 `; v
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 _1 y7 n+ t9 ^& D2 |: X. j4 @! ] }$ `, o+ W5 U" `% p6 ?' g9 p$ y
catch(e)9 g# [0 j, @0 q- W
{
' D6 t. t4 s$ R( Q& L! ~ if(debug)/ ~0 A$ n( {! o% ]4 K! t' y. s
{
" H6 p5 E/ n Z3 k* M alert(e.message);5 {9 K7 s5 f; l4 T6 L N
}9 a5 W3 i4 i: z0 Y5 y! U: ~
" q" z/ a4 |* s+ k return "200";
2 P' Y5 j# T5 h) {! f3 W I; i }2 B& v6 N; R& D \
}! @- Z' z- F1 x% K7 v9 \' q
4 K$ @ q Z2 y% |( k& b6 G! C this.RemoveHide=function(page,objname)7 E! ~8 V8 S' r* k- H
{
) ~% _# a2 C: w% L w, {( Q try# i- o7 J. \% w% v& C% J& \& V
{
. u# L' r& s8 }$ T, r var minValue=15;
8 I+ A: X- y, M* _ var objs=page.getElementsByTagName(objname); 2 `# d/ R5 U; [1 I
& j6 B/ Y$ e; L: y if(objs.length == 0)
. p0 l; N1 m8 |! x {
0 k4 c4 z- h' l% C if(debug)+ j" ^; ^) R" u3 q$ C) ^
{
4 X1 }. n5 h% T* ^ alert("no object found!:"+objname);1 G$ r7 c! L2 {$ Y
}3 h$ n7 L0 N7 [: @
}
3 R& h1 W1 {" j& j0 c2 H else
2 K: `. G4 o8 f% \$ ? {
# k% Z% W. M" c" G, z M
. T f3 n3 j) e3 A" @0 {( c n for(var i=objs.length-1;i>=0;i--)
) ~ P% Y3 {- P4 h) r {7 O: Z4 d$ K3 ^ N4 `3 y, h( N
var node=objs.item(i);
' x! i: M% P8 b& J* P / J x& u/ b }0 T, b8 Z9 |1 ]
- l" [+ V" ^- _9 Q ]
if(this.getobjstyle(node,"display") == "none" ||
; B- t5 E$ C( B, ~$ W this.getobjstyle(node,"visibility") =="hidden" ||8 a) u" X' t/ n" C1 \" P* e3 l- y
parseInt(this.getobjstyle(node,"font-size")) == 0)
3 ?& D0 a% o8 {; Q3 d {
/ x$ k0 T; W" A; U3 u% r0 Y if(debug)* B5 ^/ |. W( B' d$ b
{4 S- T7 @- t6 {6 `7 \/ Z
alert("remove invisiable!");# D$ _; {9 ~9 s2 L$ [6 b
}( A6 U; h2 O- n1 r) g. M
node.parentNode.removeChild(node);
; g# B# w3 y, E0 E ' ?8 B& R- Z* N' p( [. w0 Y
}" x$ [* y# l5 Y$ r5 }2 _0 a! d
else 1 W: D0 P* N0 b3 g2 ~2 W- C! |
{
& ]1 C2 \3 ~1 Y s if(node.parentNode)
Y& b: L: k2 a$ s {! {# |7 _9 H9 T5 F2 D
var orgNode=node;% e, \6 l M3 r* o* G' G% i
var orgColor=this.getobjstyle(orgNode,"color")$ b4 U3 @( C4 v- a" h7 ?9 L% f7 N
var orgRGB=getRGB(orgColor);
$ ]$ |. }6 [) B' Z4 p+ Y 9 }: ?- p* J6 K
var parentNode=node.parentNode
7 q' h* G2 [. P: [) u0 e" ] var parentBgColor=this.getobjstyle(parentNode,"background-color");' G# L' [3 i0 _2 X
0 v. b" {, B% f0 n
var isLast=false;
' r9 N0 Y" \. V& B$ Q
9 ]4 ]0 l: g0 ? `( L0 A ^: c, X3 \9 J while(parentBgColor == "transparent") " \* K* b [7 n' U
{
. h/ J* `# N1 D2 w3 k3 P ! [# `. F8 R7 J% s" I
$ d6 e; M& [6 p6 p3 D( ~$ E9 G
if(parentNode.parentNode == null)
* \& L9 d$ a) q: p" X* U+ T$ t {) }' o& Z$ i% d0 f! x& i- K0 R
isLast=true;
: v0 j" M6 @1 T' K: l break;% Z* i2 z( T' ~
}
- ^; E3 i% J- \' }% i& `8 F) u parentNode=parentNode.parentNode;
- @: d M- X- x: \6 t4 u D parentBgColor=this.getobjstyle(parentNode,"background-color");
' l# ~ q; \- O8 i' \
( C* G# ]. {& ? `0 s2 W if(parentBgColor != "transparent")
, h* N$ G. _! X& t/ H8 Q {
; e! H! Q, V0 N break;5 i) d, d5 L* m* t
}
8 z$ W. ?' W0 y% F& g }. n5 ~$ Z6 v7 A. j6 x2 o- E; c& [
if(isLast) . A. |9 y( s$ o
{. I, n- H c E4 ?
if(debug)
; u* }' N. v- Z9 o9 L {
) B* L, t! _3 u4 P$ N alert("last!!");
* l+ y& V' _1 f }
3 {3 P5 C, o8 _+ a1 X# _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ n: X. a6 v4 D7 N, V) N5 C {
1 ?) l i2 q; J orgNode.parentNode.removeChild(orgNode);
+ {% [# p3 E$ N5 T }
& S% P2 p8 O* B0 F }
* ~# u7 H0 M! d; r else
8 e3 I% V- P0 v {
7 t' s+ d4 K# {* a' S: `4 I if(debug): O9 k6 H- {: s3 M p+ k
{
- E. f0 m$ p& D alert("compare color and parent bgcolor!");) k+ U" l' N# A, {1 T4 [
}
n4 i( w6 N, k8 m parentBgRGB=getRGB(parentBgColor);9 X2 F& f2 @2 f; ]1 N# |- k
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)) A0 j, T! _! k H
{
* K+ [5 x- B4 s) O orgNode.parentNode.removeChild(orgNode); . F4 W( {: R7 C# j+ ^
}8 T+ c+ w. h- U/ a6 c
}0 Y7 {* v- d; \# d/ H, F
}1 E4 z8 q a* {% \6 o @
} |7 [6 N& f r, }; S
}9 ~/ y7 Z) K" l. {4 `
}- v5 X# C: j4 M" ~% d
# V7 H4 I# U; h# n
% _; l5 W/ M" e% m" y# X2 q1 _
var itemFrames = page.getElementsByTagName("frame");
" T! Q. y9 P! k t var itemiFrames = page.getElementsByTagName("iframe");' [! x0 g2 V7 C i/ u4 }; E' N
- l. P& x; l2 b" I var frame, iframe;
" q2 l4 O7 O) u$ {# Z1 q9 s if (itemFrames.length > 0)8 h j" T( {$ p
{9 V4 e+ U/ G/ t& u/ Q2 O- k
for (var i = 0 ; i< itemFrames.length ; i++)
% P7 H9 b# P3 X6 d7 a) i {9 p: E- ^* r d: u$ N# `
frame = itemFrames.contentDocument;& ]$ B/ ?1 F8 V, ^ M
this.RemoveHide(frame,objname); # I. e2 |+ r! ^+ A! _4 `( G
}+ ~* P4 h' v1 j2 ~% j
}
% \: T$ x, w# y: @5 i0 @0 E if (itemiFrames.length > 0)+ ?4 ]8 h8 _+ p
{* j; h A# U& t% b4 d
for (var i = 0 ; i < itemiFrames.length ; i++)
2 O; |% k) B; o \5 e {
4 P- |. M- Y5 E" O+ z5 T iframe = itemiFrames.contentDocument;
: Y6 `; e# |9 ?! S9 w$ \8 S, f this.RemoveHide(iframe,objname);
# U% _: _" E* s" u" ` }! D3 Q6 u& S3 c/ y" U7 a( O
}4 ^0 {4 K# l' z `/ N
}
4 z' M) @) C: q5 S catch(e)
9 ^+ y# s$ ~) G) R* B- s {$ T, v# _# ?( q6 D! g* s5 a
if(debug)
7 |9 I$ ?4 `; {8 M1 D0 V {; T7 B' M5 v; f' y/ I
alert(e.message);
5 o7 f5 u7 h _- i+ y }
- H6 @/ f& Q( B% F7 y( s/ E( { }" Z" Y' B$ m# ?
}" J$ Y* a) l- W# W7 I1 M
V" _% C7 V) P! k2 G
}/ [7 d6 N/ q9 |2 t7 I
3 c( Y+ o* m: a% o8 l
function getRGB(colorString)+ }, V4 @- D" t& v( Z
{/ h3 z7 T' P' B. ^6 ~! F$ y
var RGB = new Array;
1 F; Z) g. y9 i" v, [ var tempSting=colorString.substring(4,colorString.length-1);
% A+ [0 p6 ~& `6 e: P var tempArray=tempSting.split(",");
7 p/ q$ c i6 z( `' P& q+ ~0 C- }/ ?, |* \% }& N( h. v
RGB[0]=parseInt(tempArray[0]);
& E. _% T+ r& ~( v k& g6 n RGB[1]=parseInt(tempArray[1]);
# p# S; }( Q5 p% r RGB[2]=parseInt(tempArray[2]);8 ^( P1 ^$ j1 U! D' f, r( s) k9 B
$ `# {+ \2 l, I6 e9 B# N5 B
return RGB;1 O, a" L8 ~! A* N, `
}
) z: k" T$ ~5 g7 v% {function keys(evt) , g8 z( Z0 a0 o" H* |* H1 I
{ - R. `* |/ |4 ]" [9 ^
if(evt.ctrlKey && evt.keyCode=="81") . z: _/ f( }) o& K( s5 t
{ ' O, A& D- ?% e! F3 l! A
CleanHideObj.on(0,1);
# i& l, n( W" Y5 y+ D: g2 w# | alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% J9 _1 G. i. p5 E C1 I8 Y* _% k. `4 x
} : l( C, [2 G3 c' a' A; D% ?; X. |' i
}
% p; x$ g/ g1 S1 J. |document.addEventListener('keydown', keys, false);
3 @' Q, c. t* V; K0 I% e+ k* FGM_registerMenuCommand ('Clean Hide',
8 t2 i+ x1 q& Z; g1 E: pfunction(e){1 j2 N' \7 f: @5 |+ X; b4 F. N. R
CleanHideObj.on(0,1)) d, X- q1 O+ c; H- T S
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" k/ H6 A- ]( E9 {7 u* L5 `});2 w7 `9 }1 y2 e; I) S
|
评分
-
查看全部评分
|