|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
! H% U: k6 a1 Z% A |6 I5 r/ z8 L4 W* x: f m8 ~
火狐插件,用猴子
3 E, M- d C* J" f( X
) S( I$ n: ?. qvar debug=false;
7 e$ a0 e% ?. n% Q- wvar CleanHideObj=new CleanHideClass();: M# Y+ X4 m' t4 o; M; u
0 [" j5 A+ `4 ?. lfunction CleanHideClass()
5 r# Q& G/ E- J4 }" }8 f8 s{ 9 x; b/ Z' r$ F2 l7 C$ Q; J
( Q( W& U2 O" a2 j) g
this.on=function(id,bMZ)8 A: C- L' k9 ?) S
{4 Y) Q+ R) O& d+ Z- Q0 C
8 U; C6 |6 ?, \) n; q if(id == 0)
" x7 ?/ w7 f0 l' X# n% ?% l {& n8 b& R: A( A b M
var page=/* document.getElementById("content").contentDocument */document; 6 i3 a: `, g- k3 m7 |. i3 ~
this.RemoveHide(page,"span");7 V; V3 u3 C4 b8 w& K/ @5 r
this.RemoveHide(page,"font");
0 y6 O; A) V4 Z1 M8 S% N this.RemoveHide(page,"div");
1 [# k% x! b J4 S0 z this.RemoveHide(page,"p");4 l+ @5 C" {7 I' z- X
8 h! e5 S4 K* A! s" Q }
5 j( D* M% m3 o& q1 g : D, H" Q9 c% V0 k1 b
}
, ^: A! C& |$ b/ C this.getobjstyle=function(node,prop)2 G' w. F+ h8 D- ~
{
5 p5 ^2 r( D. G" i$ W try
- l* Z# M0 o& c {
/ B" q( @3 K6 v5 X& J+ o: K$ _ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ A0 w6 B# g. W2 {! @0 k [ }: K# N- l1 ^% L( ^3 f# m" e, ?
catch(e)
7 R* V+ y8 W9 z4 C { W$ G- r {) k# j, l* u. z
if(debug)5 c5 s& v; H$ r$ B
{% q0 r; m6 E* o' n% ?1 |5 o
alert(e.message);4 W5 A, b/ J R$ A3 o/ e. M
}
; Y0 M! u8 v* K; Q 3 z+ D, Y2 G$ z: `2 Y9 e& t
return "200";, b7 c" m8 t# ^1 g" s, N$ a% l, K
}
5 g" U9 B% {% w/ O5 P }/ ^* y5 ]3 K6 ^* v+ {$ o- r
6 r0 t0 D' E+ {' k1 U+ P6 d
this.RemoveHide=function(page,objname)
4 i4 ~& L% ?# P. `, Y$ d {
) {* A0 n7 W- d/ y: S% r: t try/ V( C h: Z0 }+ @% D; [
{
& K. }: u4 q3 w+ a/ N1 f4 n var minValue=15;/ E' Z: J% }3 H$ }
var objs=page.getElementsByTagName(objname); % ^6 a( ^$ v9 l2 J: b
' k R+ y! H9 ~! h- ^0 Z5 c
if(objs.length == 0) ! Y( X! D7 A, O+ G6 X0 k2 R
{% k1 ` R4 n6 n3 ]
if(debug)7 P4 Q9 ?" j( h% {4 e3 t: l8 U
{, u+ X2 }9 m I
alert("no object found!:"+objname);7 `/ x' T- Y! u6 L
}7 j N+ D" ^- ?2 }; X* S& j
}
7 g) P0 s0 j0 @5 t3 q9 I else8 b" B9 J: T* Z: ]; Z5 L: ^# X) `
{* A. Q6 ~$ Z# c; {1 Q5 }
6 y0 n4 R) V) Q for(var i=objs.length-1;i>=0;i--) 4 v" |! z+ p6 F
{" d2 q, b7 u9 {& }
var node=objs.item(i);
; z' f9 s. y3 F9 j
+ i5 [, K, F# o0 [* b7 S* a
4 |8 z5 z: `, x if(this.getobjstyle(node,"display") == "none" ||
+ B0 v8 i! Y6 V3 b% Q this.getobjstyle(node,"visibility") =="hidden" ||
1 Y8 @* u- S8 y- Z- j parseInt(this.getobjstyle(node,"font-size")) == 0) . x6 s/ T4 b% [) I: L% |; ]
{
" s" }+ X0 ~ M if(debug)- G0 k' g. I$ H a) J
{
7 E& p% G( r) {8 V9 E' z1 p. ] alert("remove invisiable!");
/ } ]6 z! r+ W/ j5 e }
1 B& |- ?4 T2 Z9 R0 r node.parentNode.removeChild(node);; W" V1 f/ ]7 u/ Q% D
3 S$ d9 K, Y; t* |. Q/ I% t
}' \0 u- i0 t* B) L
else
5 P% S( O+ n9 K9 C1 k9 J {
4 r) l8 ]: i( p7 ]9 Q if(node.parentNode)
3 g# Y7 C' y6 R: l- E7 Y# m( V {
6 U/ z5 K7 |! O; ? var orgNode=node;9 `7 R( X- Z& z$ S4 m( ~
var orgColor=this.getobjstyle(orgNode,"color") W! {$ \ H# c
var orgRGB=getRGB(orgColor);
4 a1 x' `0 y6 y- a4 D" j7 v / K1 k1 i' }; J- u- _# s
var parentNode=node.parentNode! y k2 t0 f( k" v/ m; \
var parentBgColor=this.getobjstyle(parentNode,"background-color");
' Y: ~: r( x) P% O+ V8 b" G ^( D8 Z- Z1 D7 p E3 J6 H. J! ?' J7 Z
var isLast=false;
7 I( t8 m4 d0 [ $ h3 U% i; X. D; B$ N2 ]
while(parentBgColor == "transparent") 7 M' Y3 N3 [; y7 e7 E5 V" M
{
! m: |- n( ~2 D+ v& \. _; `6 ^# R# Y
& H: s6 ?' z4 W: y) j3 T
2 H. V. ~4 y" x1 x if(parentNode.parentNode == null)! x* ], L; g! E- N, A+ x
{ @ c0 Y6 ]/ n+ a& N9 q6 L
isLast=true;
% |( @5 K! {5 q1 O( l T5 s break;
9 _3 |, ?! F8 g G8 N! n6 y }
! E( L1 v) M% I: w9 B parentNode=parentNode.parentNode;+ j- M' R% o* n# z/ E. ?
parentBgColor=this.getobjstyle(parentNode,"background-color");
: N/ `) i' K7 @& U5 i N4 b, ]) I, U1 d- N, f
if(parentBgColor != "transparent") ' T3 P5 x: Y. G+ h! }# d
{6 c5 S) d; i6 A, z# p, d1 H
break;$ }$ C+ Y/ l/ Y% L, w) K, F
}, H- v+ ^! @$ K' |7 b
}
) L5 }: e7 c3 S1 a# x# q# }* Q if(isLast) 9 o" \! W# _5 ~# Z
{
# j# i: `+ U5 U* Q4 [3 R if(debug)) O+ x1 i% C# O R$ {
{
, ^ m3 C+ U* ^8 s. d alert("last!!");
! H/ i# G2 I u* Q# V" U6 W0 D+ K5 o }8 A6 P* H+ A0 |& \ w: ?
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( Z1 r$ _: j( a( P( t$ f! t; b2 q4 W {0 ], M: [1 l, P$ J8 v1 c
orgNode.parentNode.removeChild(orgNode); 9 G- j* l' ]- E; Z8 b0 Z. Q- F
}
; I9 D# a' _ T& v- o8 t4 j' i }
1 e3 _% N4 U. N: v1 n else) F8 d( U" E7 ]5 S6 g
{3 X' e4 P# d" \- Q# b: Z
if(debug)
, B& t E& i; R$ x- k1 X, P4 K# y4 E {
0 v# Q7 M& j! p: X alert("compare color and parent bgcolor!");
. t; {6 R, H" v }) q! k; H2 l! [
parentBgRGB=getRGB(parentBgColor);; u; W8 g" I0 W/ p
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
( U1 N: b1 N& D$ _$ ]6 S {) [: {' m+ r" M# D, _
orgNode.parentNode.removeChild(orgNode); 5 |! {" S- ^/ {- u, g' |, N
}
- k; ?# W5 C) b5 a }# _ k: @/ U/ I
}
; d ~7 p# g7 d; o }
$ b) C, c- [; g! g7 p, G }2 V" i7 [/ I3 f- z2 z2 g0 A. R
}1 E- k, L( ^6 V( Y8 s
7 {3 x& o" `$ X' A3 b* o' @
1 X, e! C4 z+ Z/ q0 R; X var itemFrames = page.getElementsByTagName("frame");
' h7 p: ?) G2 ~) p) r/ Z& t( A4 U+ W var itemiFrames = page.getElementsByTagName("iframe");
' H- `1 i1 T* H( q
" b+ h0 _8 F! F2 X; X d4 M' o var frame, iframe;+ i: ?# E$ i! g. d/ R
if (itemFrames.length > 0)
6 h& Y n0 s4 c& ^: G {
# o# G- k- h4 o& W; X for (var i = 0 ; i< itemFrames.length ; i++)
. e6 Y! `. H. u9 { Y {
# [+ T' ?! x' d: i& \' `5 K: y frame = itemFrames.contentDocument;
" Q i& N7 y- I( V this.RemoveHide(frame,objname); # n C( D6 U( A+ ^$ v X; r" y. [
}
5 l q/ l. ]+ G, X4 H% R$ M }
6 I9 |5 h, Z! x% u& { if (itemiFrames.length > 0), D3 s( j( W9 e! e; S+ X" x
{, g& i8 }' Q9 }- U3 Z
for (var i = 0 ; i < itemiFrames.length ; i++)
0 `, L6 T9 Z$ o; K8 s0 {! G {
& w6 P3 o B3 A5 U" e iframe = itemiFrames.contentDocument;+ D' a: o; c( ^% q3 I
this.RemoveHide(iframe,objname);
0 |5 c" X3 @6 L, ` }3 I5 N- x/ j# L& e; x
}
( f; @: G1 M! e# P" k2 e }
) Z8 \0 Q# R9 M# p5 [8 ? catch(e)) ` Q% T, y' r) D7 {, L ^
{
- n# E' `. A) a' ~ if(debug)
3 l+ z( w' d$ }2 N0 f* E! G {
% Q) B* d5 j8 \ k1 w alert(e.message);4 ]/ _. [) U2 K( f, ^: g
}. U8 O2 t9 q# L* j- A7 x7 Y0 K
}
& Q. X7 z: E+ s6 s }
* l- j% S' G& P; U) l& L# D; b6 Q; B 9 E' E6 N; K; H! q n; i" {
}- g2 ]# q, i3 @2 |; D
2 d' T9 f5 v! I/ K( V* i6 X
function getRGB(colorString)
; x1 g% v/ y8 _+ x8 ?0 i{6 ]% _+ R8 l! M2 d( {# `
var RGB = new Array;/ ], ~% V2 H) a
var tempSting=colorString.substring(4,colorString.length-1);6 ~ w) h0 j3 w: O% P: b0 l
var tempArray=tempSting.split(",");
! P) `1 v" R3 H3 r, u* o! ?. k4 w" e6 X l" z. H- d# r
RGB[0]=parseInt(tempArray[0]);
5 ]: ~3 n9 d& Z- a! n! G& r1 N! S. i RGB[1]=parseInt(tempArray[1]);
& |2 N7 o9 H& K9 T RGB[2]=parseInt(tempArray[2]);. O7 C6 E, P4 X5 i+ e6 Q. |
, x( f3 J0 @: M! W+ x% l return RGB;
8 q Z$ x$ V5 |) p$ `6 U}, ^( @* X9 M/ ^. a$ ^; O- R: a( }
function keys(evt) 3 m( C, M* I6 G4 m+ N/ f" C$ C
{
$ z) }. x7 o. p B if(evt.ctrlKey && evt.keyCode=="81") 4 W( [6 ?- _& o# ^4 h
{ ; Y: h( A* `8 }" k; W
CleanHideObj.on(0,1);. Q5 N+ D, w- ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) |: `7 W0 }3 f
8 x) R& e6 d1 h# ^
} ! C1 m" E, P- I$ C2 h$ x6 E3 g
} , e& v) m! q/ b- Q3 |8 K
document.addEventListener('keydown', keys, false);
% \7 h7 a e0 N) PGM_registerMenuCommand ('Clean Hide',# n3 R! ], s0 @$ s5 I1 H
function(e){! W/ T+ u* T4 ^$ R/ U
CleanHideObj.on(0,1)5 C+ {: P5 ^+ a0 a8 |- H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 F- n: P& C! F7 p, `# s});' e* f9 F! {2 }: e
|
评分
-
查看全部评分
|