|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 " U+ Y9 Y" S1 v7 {
, S' y w7 f" n( D. V8 b火狐插件,用猴子; O s2 G. x- s K9 s6 [5 m
8 g# f$ \+ E8 d9 `var debug=false;
4 ?, b; ?8 H( _7 X# q: Wvar CleanHideObj=new CleanHideClass();
?' q% J' O9 I/ F
! @9 I) R9 P: L+ Kfunction CleanHideClass() 0 S |& O9 v0 a8 z$ p; |7 G
{ 7 V5 B! E# O/ r& R) l( p
! r/ h& R, m2 ]% p this.on=function(id,bMZ)
1 F: x6 [% c9 S1 Y1 F! |# ?3 J& K* }( ` {
. [ ]. ]7 y& P# v
7 N! D1 H+ \' Z- y if(id == 0)
" M3 N$ Z D" Z, {0 F" ~ {% j' |" [0 V: t5 K* l$ _
var page=/* document.getElementById("content").contentDocument */document;
9 u# k$ a7 @; |7 A4 u* u this.RemoveHide(page,"span");* u" g# g" M( r; X. {
this.RemoveHide(page,"font");. r( R. ^3 Y3 |8 o" |9 R% I
this.RemoveHide(page,"div");5 r. M' ?- i% s( x) Z
this.RemoveHide(page,"p");
, x9 b) y2 J) ]2 D( i* j
! }2 s( Q: |1 m* n7 h+ ? }! w; z/ N6 F R, Q: r! ]
( \$ U8 ~+ S: U& C( d# t. m/ @
} G0 }. f# X" w! ]0 F' [* `
this.getobjstyle=function(node,prop)7 L* D) y: e1 L" G+ L W, X
{
9 n u% W, h' L1 b1 m try
3 }# P4 W9 D: \ {6 \' V9 X& b6 m1 _( {
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 \; o0 m G+ ~2 a& w, K4 [* O3 y
}6 A$ |3 J$ D2 D
catch(e)
4 W4 H6 a* G% i {5 W0 R5 P' c" n# ?
if(debug)
2 [9 ?# D- m% f% U: W {. `# x ^) |- x2 o N, o
alert(e.message);
% C! K+ e; i/ H }
( Y, `! `1 e- i$ f3 U 7 B0 _: N5 }1 i
return "200";
3 C* N w6 x6 U5 t8 P }, p2 Y6 s/ v* R$ }! u( {
}$ l7 H) p6 [7 [4 ?) D. S- L8 Q8 P2 ]
, n" \$ |* f& W/ B6 Q this.RemoveHide=function(page,objname)
# n( ~# ^; X1 Y: ~. F {4 c5 Z/ T, a4 O% m" e+ E
try
) O8 \2 ?1 C# m/ m, _ {
5 k/ W. f7 L* q. K {& w var minValue=15;
2 S, E: F' d. f/ K7 k6 R var objs=page.getElementsByTagName(objname); # T: I T) d. c$ S+ c
& J" |! _. T/ o. W/ L. ` if(objs.length == 0) " o0 o8 f, V$ t0 [6 u& S
{
, R$ n; j5 x0 a1 s6 t' P2 F& S if(debug)4 n9 c' `; P$ e' Q2 Q; w5 m0 x
{
$ E0 `5 F4 K' [7 _: V. z" j alert("no object found!:"+objname);
9 `) d9 r4 d: W! m6 { X }" J) w8 t! u1 m/ \* L Z
}
. J- u3 }# Z. A6 b else
0 ^9 ]( j# n1 J0 A. ?9 W) A {
2 B% v6 p" ?: z% }* z- z6 w4 r+ t7 W0 F6 G
( ~8 Q* m; [0 E) D5 k for(var i=objs.length-1;i>=0;i--) / g' J, H* q/ [1 ~" h; h3 |
{
9 z a) S, @, e4 |9 Z% S var node=objs.item(i);
0 ~& v+ Q2 R' J5 N
" d# x5 f$ D' y' O7 j
3 k! ~0 [8 ~7 O n5 i# H S if(this.getobjstyle(node,"display") == "none" ||9 w9 x9 V, E2 Y$ R5 X% [5 Z7 {
this.getobjstyle(node,"visibility") =="hidden" ||% ?6 w4 P& p3 v& s
parseInt(this.getobjstyle(node,"font-size")) == 0)
" o, X* H) C2 R- n {0 p& R( Y0 P* J* S- M- v
if(debug)
3 P. a W/ r: L/ q/ m {' ~. ~/ p0 ~" }$ i7 T; J* y1 b
alert("remove invisiable!");
: A+ t2 f1 I: @' A- R }
9 A, s- b# h; s& A5 j7 z node.parentNode.removeChild(node);
: Y" g' H6 A% b3 C# y% L 9 [& S( x+ m3 f! Y) \! ^6 m9 O9 G
}
/ K3 W% U& U5 W: J- H else
. e2 E/ _& f2 x2 B! P5 S, c {
0 f- _. }2 B$ B5 N; `! d; k3 Q if(node.parentNode)
* s% ~: z: ? k6 B {
# J# f9 a0 q G# O var orgNode=node;3 e+ [( F- }- X+ W; b9 V) N
var orgColor=this.getobjstyle(orgNode,"color")
0 G, L1 S/ j" ^/ a0 b var orgRGB=getRGB(orgColor);
' K1 B/ {6 g, k! `! X) t" |4 M 0 A$ Y2 E$ c( J- ]" E. o
var parentNode=node.parentNode
& k' ^$ t. F, V var parentBgColor=this.getobjstyle(parentNode,"background-color");( X9 B" l. d N* q$ k1 u- f$ Y
3 l4 S5 R4 c) W, [& K var isLast=false;. j8 j- Q a) e6 ]' \
: O2 a9 b5 a! d6 k$ \
while(parentBgColor == "transparent") 3 f. a6 O0 z+ j8 e V. _
{; @5 J! ]# V0 G4 ]
1 @. ]; O" I; l
3 Y% v( ?/ q+ H& {8 u( ~: u! H* } if(parentNode.parentNode == null)
* z# h% t8 r2 B- R) ~ {5 O1 A* \) w; w9 {7 q
isLast=true;$ Z7 I f$ H: l7 {
break;
3 o' X& B7 l( [* L& A }$ r4 A8 ]$ L; C2 d' M( O# @) v
parentNode=parentNode.parentNode;
# g7 h& A8 K: N& `& |- S parentBgColor=this.getobjstyle(parentNode,"background-color");
7 R/ n) r N6 C$ G7 o$ ?
! L) d! t' S% z; U* v! s% [; @1 v3 R if(parentBgColor != "transparent")
5 C m6 {: `4 Y: a; H8 f {
9 Z1 b3 g) Y7 @4 l break;, y- ]( d$ x5 y- \5 ]
}0 n# r$ `" H+ h3 I. e# {- M
}
( U2 M2 z1 d8 E$ j if(isLast)
& g- F3 j1 r2 Q {% c2 D( K/ U. a- U
if(debug)
. y6 r: L1 M: o3 n' |# a {; P6 k. I5 {4 `( E. H/ t
alert("last!!");, X8 B) ]8 G" G9 o: ?
}
C. |, w4 J* }( u( H% { if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. c" h. Q. a# k% d5 z4 ^ {
" E0 @8 X7 F; D% x/ e) N+ l orgNode.parentNode.removeChild(orgNode); " Q7 x! u9 `; M5 I6 T6 n
}' m/ f3 ^+ R# @! W3 t. g$ [& U
}
# \$ F! N0 ?+ V6 E0 I* J else
, T( X3 `, ]* o( T; u {
) T8 U4 p" o) W; Q) Q0 W if(debug)
6 |- ~+ a$ {/ Y9 d, q$ z {
% O Y2 g' R2 I8 Z. Z6 N1 r) j5 \! D: _ alert("compare color and parent bgcolor!");
/ E! v: Y9 |/ C$ a }
9 m. S b0 w& _3 _, i0 ~" H3 b parentBgRGB=getRGB(parentBgColor);
7 L4 R; d/ l% d5 L% \& h" K8 T if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- q* ?, t8 r* u& Y6 m
{3 l4 P! b, A1 x; z/ u
orgNode.parentNode.removeChild(orgNode); % z) b7 L. }! `; I0 R. E+ G9 i
}3 d2 m( c9 W( x: T
}
" \. u9 c- u0 T& ~! h }# f) S1 @, I+ i7 }3 k8 J4 a0 r3 u
}# u+ q2 ^4 L. r/ O5 ` \
}
" q% H# B" R: \) [% H# i }0 G3 u0 o0 R; ?7 S2 i' E0 F" M7 h
# \ I6 ~. X% j& z, I: \+ [
3 U1 y$ K) v, M+ k( R% _$ O0 b$ d8 R
var itemFrames = page.getElementsByTagName("frame");
' ^: C, \( R6 Z" i7 K/ Q: h! h8 ] var itemiFrames = page.getElementsByTagName("iframe"); G$ p9 U7 L0 T8 j( _1 s& w
5 h- {2 ~8 m1 P var frame, iframe;
% f& d/ K; M$ `9 r8 {* J if (itemFrames.length > 0)
4 h! Z2 M* H H" p {
9 L$ J2 v; |1 ]( \ Q for (var i = 0 ; i< itemFrames.length ; i++)
. t% A; x, `( k S1 K3 c {
# Q- S6 ], a# y9 M- y9 j frame = itemFrames.contentDocument;
# n$ i3 c* Q* a this.RemoveHide(frame,objname);
$ |' ]+ {5 I% e0 G3 P: F }0 H# v" ~. P e2 r8 X9 p q
}
3 \: u- y! `9 M1 @! q" E: U# G if (itemiFrames.length > 0)) M& ^! R' z6 e& a
{
0 f5 }$ L0 j, T2 | for (var i = 0 ; i < itemiFrames.length ; i++) + k/ ~0 |9 g8 E" I. e, _
{
+ q& e* f3 C$ ^7 F iframe = itemiFrames.contentDocument;
! Y: Y. s. Y1 M' { this.RemoveHide(iframe,objname); $ l7 v! ]1 ^5 J; R/ u- N
}
. M" |- r- M5 f) M p, M% A }
. a+ t, w! w, d- t+ R0 L4 E }
$ j. t. ~, d$ R( d9 \( F catch(e)/ }8 E$ a' f a: T$ N3 E
{
+ N# z7 s! M, B B if(debug)
3 a$ O8 W3 ~- N u: `, p$ e# O {
% N6 i; v/ Q, [, \+ Q* v& B alert(e.message);
' N$ U8 }: N* t }
3 E5 y$ o2 m) s# p% d) q3 I s }" r7 h& W1 o+ K: V4 T) `0 p8 r
}
/ R7 L3 W& t9 `* e% k
6 S; _, J/ R6 Y% e( r( `* i9 w0 @}
; I- u% D3 R4 U5 i' _) N' e9 _; A0 m5 ~! b7 |5 T% t; B; z" A
function getRGB(colorString)
8 m* J! Y+ r% w1 ^! U7 c{ y2 k O$ a! h; c. o
var RGB = new Array;( e5 K# E" m* H; R" w2 j# ?/ X7 ]
var tempSting=colorString.substring(4,colorString.length-1);
: P4 d; |. ~" ?: X- m E var tempArray=tempSting.split(",");
! d/ `! a, E# v/ b _( Y; o: K* M, l; J1 J! i/ ?
RGB[0]=parseInt(tempArray[0]);- e* g0 a8 r+ p1 z: K) U0 h7 A
RGB[1]=parseInt(tempArray[1]);
( }4 k) e; \. g4 W4 M+ | RGB[2]=parseInt(tempArray[2]);$ K4 t* e2 a+ S5 Q, N1 K" _% \' I
5 o6 P9 q* ]/ N& ^ return RGB;5 q S/ ^/ T% Z) o/ j$ k
}
- ]' p9 e) q8 xfunction keys(evt) 4 B; y" E& N$ K& O# F
{ + l0 C8 E! r3 L% T/ |6 Q
if(evt.ctrlKey && evt.keyCode=="81") : |: L+ @ l& \7 Y, v
{
7 {& J9 c6 c8 M W; j; f1 g CleanHideObj.on(0,1);
; p& l- I, I+ Q! E' ^& z alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" f8 D2 j- r8 J; c+ Q9 S9 a9 w & \$ _ k, A3 V: n1 R$ F, r* ]3 g
}
& [7 \4 d% q3 ]. ?1 K# ]4 s& {' b. ~ }
" R" Y* w3 F2 a0 wdocument.addEventListener('keydown', keys, false);
6 L& _& B" z* E, n0 AGM_registerMenuCommand ('Clean Hide',( c( U; W; Y+ i8 R
function(e){. J5 g$ w b# \2 {6 c4 _% I" ^
CleanHideObj.on(0,1)
( _/ r, m! \/ W$ |alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ v/ l C) U; d' l});, B9 V, w0 f h' A; Y( `; ?
|
评分
-
查看全部评分
|