|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* h( j' g) U Q8 V; I
( L, S) G) y7 Y# D火狐插件,用猴子
0 k/ m# W4 G7 i' \! z: e
" A+ c5 ?7 | t5 j. O6 _var debug=false;
" P7 y+ G) |% S5 H/ o7 M& k8 mvar CleanHideObj=new CleanHideClass();( g5 m1 w) s# V, U
. W- \5 `: o. f3 F$ T7 j' e1 bfunction CleanHideClass() * x! f9 x" w$ U; N
{ 4 z% }0 e. {( @, A: @0 k. _; |
8 T+ Q0 q2 i& ?+ b
this.on=function(id,bMZ)
9 p0 s; \3 z% Y2 _7 P {* Z8 u" U5 H# X ]5 O4 p
6 D0 N: C: Q; ?
if(id == 0) u2 ~2 x: p4 `6 u7 Q6 l$ D
{& C/ T' @+ I, N8 M' [ T
var page=/* document.getElementById("content").contentDocument */document; @: ]2 m* X9 \6 P, p5 v
this.RemoveHide(page,"span");( Y9 Z2 M0 C5 r+ A, u$ Q
this.RemoveHide(page,"font");
5 V$ W& T6 F* t# I% \; ~ this.RemoveHide(page,"div");
6 f4 K* p+ ~3 t/ ^" e! F# f' Z. w this.RemoveHide(page,"p");
' K) w; B7 K! x' H: {' o: S
~* T1 ?/ h% j+ x/ v6 u8 z$ x5 i' X }& I: T) b& U/ K7 R
]+ h1 r* t# ~5 Z% N9 e! Y& X
}
. D7 V8 ^1 s9 { this.getobjstyle=function(node,prop)/ c3 O* t, \8 H! @0 [0 a& T2 H' F
{
/ y4 \3 l$ k& `! F+ q/ @! J$ v try
4 L( B+ r; ?/ u/ m9 U6 A4 ] {4 J' \7 \ Y1 d# u( e0 @: K
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
W, e5 p1 I4 V }& u; u; t% Q! q* B @% o
catch(e)
: \& ]8 U$ A. o: f {
+ |9 J/ I& l* N2 f if(debug): \4 ^6 b8 }: q
{, o1 y2 G& c& B0 X0 i% |) Y: |
alert(e.message);
4 ~% Q; k" ?/ { }
! F4 s- r1 k g' R% f
6 ^% y' t2 c. q% `" N' Z return "200";
4 B+ X- y# R$ @! W. \* e5 ` }) f, c0 O" V1 I- x( F* h
}
& g* K' `8 M. x8 C e! ?) L1 _ ' s+ Q- ~1 N( _: x$ u4 e* h
this.RemoveHide=function(page,objname)0 I- i2 T8 {, @$ p
{
0 `# ?/ F2 D6 q" b try1 \& I* l# _4 j5 Y5 a [) D8 T5 Y; h
{
% G @8 ?% l& {6 y h- c; H1 p var minValue=15;& y9 r8 F5 V; t/ M6 o1 Y p) T; U
var objs=page.getElementsByTagName(objname); ( ~5 ]" }# B& P! x
' G4 f; G& |/ J0 r) _; `( |
if(objs.length == 0) , ?! S5 x. n g- o- G7 S3 O
{0 ?% d( h) c& f% g1 l
if(debug)
6 V# u. Q8 X6 `1 f1 l! j$ c4 } {( |- _" I7 F) _: R! }3 b; i% j
alert("no object found!:"+objname);( M: ?7 c$ R# |' f6 f
}5 w1 S7 I$ { k$ _% |0 Z
}, G/ Y/ R% i9 n6 B' h5 b
else8 Z9 ?" E8 Z3 j+ |: N
{3 P* F' |! S7 ?, N) X0 P) z! g9 T6 y
0 v* n$ D2 C" e. T for(var i=objs.length-1;i>=0;i--) 3 d4 X% A& [& v2 a! D5 v! N
{
* O* V" ?/ b S8 |) A var node=objs.item(i);
* K: ]9 o8 V( N% I$ E
6 y: X7 K9 y, F- |( x6 f' \ & f+ A3 f( J) U& Q5 y5 g6 f
if(this.getobjstyle(node,"display") == "none" ||
# w* ^7 u; t9 N4 q5 G$ h* R( o& @ this.getobjstyle(node,"visibility") =="hidden" ||
- x- h1 d, G- H6 Y* W parseInt(this.getobjstyle(node,"font-size")) == 0) 6 q0 q Y& W; ~( X, B9 D; z) a
{
* l5 B1 R9 y8 H( d9 r if(debug)5 Q& \ v" \5 u" e
{
7 `" o: q4 {) v& m alert("remove invisiable!");
" g6 F9 p1 Q: W0 N' Q( w$ l8 A- q }
% {, C: o D0 `6 T8 `8 T3 d. \ node.parentNode.removeChild(node);0 |) ^( A, O1 z1 z& F* k
4 B' D0 a `% g$ Y }
& J5 H* U7 j* l1 p2 M( K7 d, e' o else
2 @' r/ F; e* U! Y- a8 `! M {' N h7 m7 {: F
if(node.parentNode)
3 n/ ~" [4 S( O7 @& x {
! `3 Q7 w4 g% S( ^3 I: X var orgNode=node;
k8 A4 u+ Y1 k' _. ]6 W var orgColor=this.getobjstyle(orgNode,"color")
, J( x6 W( q- ?3 ~8 W4 } var orgRGB=getRGB(orgColor); ! e" D5 h7 z+ b; J& G i
( P( o, e" G* Q var parentNode=node.parentNode8 C/ U- s3 N" p/ @, |$ T/ o
var parentBgColor=this.getobjstyle(parentNode,"background-color");3 N5 n) a9 M6 ~ Q7 o
: A8 C% A6 @" C, c: [- e
var isLast=false;
' r/ [! ?6 e; H3 h/ o
- H: P2 S' g, | while(parentBgColor == "transparent")
5 l1 e9 }3 \! E {6 e2 a" X5 F$ F# Y. w1 r! M
& N) F& y" w4 P( D/ f2 ?
# d( A9 Y& s) f: }0 z! o2 C, S if(parentNode.parentNode == null)8 P+ h5 L4 e; R4 p" ]1 Y2 Z& P6 O, O! U
{5 I0 u( n( s; d/ G& |; j
isLast=true;
0 H0 j: X5 c& f6 y break;3 `/ O- {2 a1 L! K9 L- m z
}
% P$ G& [6 j) { d( Z- ?' Z# R parentNode=parentNode.parentNode;3 ^8 `% T& \, @: B/ U
parentBgColor=this.getobjstyle(parentNode,"background-color");& t& _0 I# N3 g% |: [
7 I& ]3 ^: o x& T3 v0 Q! B, M0 q if(parentBgColor != "transparent")
4 L! _) x6 v$ k, h4 S {; B8 U2 @) U8 I
break;
' i5 @3 G+ x6 @8 i, } }8 X5 }: M; k# O4 h0 X
}! r, L: D* S# V( V' v" M, [
if(isLast)
" P' `6 F4 {" w- p. y {
% F; [; R9 p- I% {) {- Z, j/ H, B if(debug)- e+ d7 b6 U/ S. I' h6 n
{, ~# I: U* [2 a, f; m" l7 X4 l
alert("last!!");
4 }* f+ {8 ]' b }2 k; L E. C) }6 k7 C, r3 s( g% i
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& r9 q/ \6 l4 h+ T {
) ]8 w: m$ M8 u6 v$ ^ orgNode.parentNode.removeChild(orgNode); 2 {3 Q6 o' c8 g8 O
}1 i0 H |, i- Y5 Y, m6 X( m# A- K
}
, k& w6 k+ k. e' I- I else, q+ Q# l) B+ u4 m3 S( j" b
{
3 H$ a, K1 b- ~1 A+ w if(debug)
1 K. \4 m% v3 [$ n {5 Z3 ]: d2 L- o4 f, v9 |
alert("compare color and parent bgcolor!");- {- l2 s2 s3 p o7 s3 h
}) H6 _4 \5 t0 N: _
parentBgRGB=getRGB(parentBgColor);9 p3 p7 A$ p: `1 Z3 Q- {- r
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)). b4 [+ s; p# e, J6 Q4 S) g) f
{- m) ?' g2 Z& {
orgNode.parentNode.removeChild(orgNode);
# r$ X1 d# X1 O# j' {0 ? }7 K. m3 b2 F6 _- |! s
}
) H1 q* Z( e1 m/ W0 z. {' F+ k' { }
6 ?5 A! I: @4 x' I0 R, e }
9 }. d& j" a5 U- {7 d }
* `8 ?( p1 @3 X$ [2 O }
' E/ o" F' k" T3 k+ G- ~7 i - s1 h; z3 D# q! F8 f) O
( w. W( S: i) h* P2 {' d5 k8 R' a' e
var itemFrames = page.getElementsByTagName("frame");& r6 K! i6 i' U; W" R) R* D
var itemiFrames = page.getElementsByTagName("iframe");& ]& ]# [+ _8 Q8 j) {! x* m
% Z1 z1 u3 E) G# Z) V; p' l
var frame, iframe;
6 S- P1 |$ f& B* ^; u- U. o$ n: e2 ^ if (itemFrames.length > 0)
: T' I6 k$ D$ q7 G {8 |4 X3 N/ l( @, d# e7 G
for (var i = 0 ; i< itemFrames.length ; i++) + L. k" S- a+ H# ], p( R- n
{
T, t8 P, g2 r/ G1 U3 t frame = itemFrames.contentDocument;
: \; w/ O% o/ J: r2 V( `$ T% E this.RemoveHide(frame,objname); : P4 H& m" K+ G% K' z/ o* o$ M
}6 B3 c2 D( n; C9 i/ m
}
% M) L" J8 N1 C% |4 E0 \ r0 d if (itemiFrames.length > 0)
* S5 q# ^$ _ ~9 \1 |7 }0 V {
5 ^+ B- i9 l3 w+ ^ for (var i = 0 ; i < itemiFrames.length ; i++) # o* T( s4 o: J' F) p- }4 M
{
( j; u) W6 V6 I+ h iframe = itemiFrames.contentDocument;
+ z; Y! U; d' @6 M" y, _ this.RemoveHide(iframe,objname);
C# W5 h' u3 L' b$ ?) y }/ o9 A0 }5 T8 p* l
}4 ~) Q$ I" h/ J X
}( ?+ S+ P! d' r: A; N; w2 z
catch(e)
" [9 d" Y) U7 E% d {8 S+ t$ ~6 N) l! o: X5 k( f
if(debug)2 a4 h5 T. U- H& R
{
! ?' \+ e* @6 ]$ _/ I& F alert(e.message);, c. `1 e/ z$ b% U7 N
}
% |) ?( { F4 Q3 s }
; @+ U& m. o9 f }0 b- Y4 h I( z2 m; t5 W& k& b3 l: s
0 f+ I! |! j- O7 Y$ _2 ^7 ~ [, d
}* E. M v0 N) l# j
2 H& ^* j, i- s" Z
function getRGB(colorString)
9 }: S. }* g h& U$ K{
) x" V0 Y; f% B var RGB = new Array;& z; W3 M- t' b t: G! V! u
var tempSting=colorString.substring(4,colorString.length-1);: i$ b, Q4 e" `% i- @: N
var tempArray=tempSting.split(",");, U- I8 q0 ^' _# e" C2 t* I
! n4 R/ z2 _3 K! t RGB[0]=parseInt(tempArray[0]);8 h$ Q$ z6 D' C) W0 l
RGB[1]=parseInt(tempArray[1]);
+ \* e# P9 W% V0 A5 ]! e% Y RGB[2]=parseInt(tempArray[2]);
7 S# j4 Z+ z5 [( j4 | , n$ D& d; @9 T
return RGB;
2 g8 ?7 H1 @" X) a+ A}
! c O5 I- `( w0 ?- m1 {/ C9 \# M0 x) vfunction keys(evt) 0 T% L. Z; M7 \
{ 6 P: x' ?; x0 w+ |
if(evt.ctrlKey && evt.keyCode=="81") 6 H' p; w# u& O3 V8 o8 i2 W$ Z
{ : |2 d& B& n1 z" z/ r" y
CleanHideObj.on(0,1);
0 N; Q7 J1 v6 D) p7 o8 t& ?5 X alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ s, I7 {# d1 c w. s. ]1 O; b( ?$ h
% Z7 P7 m% I0 h" b$ x
} 7 |3 @4 n) W9 ]+ s) r5 ^7 R+ a
}
1 n- g T; y7 _6 E% E" ]" S( kdocument.addEventListener('keydown', keys, false);
/ \' \, M# B* uGM_registerMenuCommand ('Clean Hide',
! n+ p }/ t# a1 P G$ m) jfunction(e){
% _3 }# Z% j9 y# }* R8 CCleanHideObj.on(0,1)
2 e# |2 [9 J# K' c. balert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 {9 ^9 q g! Z, r8 f2 r});
; K# w o2 O. {$ E1 b |
评分
-
查看全部评分
|