|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 E1 G0 `% s$ {/ R- k: b, ^( ]& R9 ?$ R# S% D2 w/ ^
火狐插件,用猴子
$ ~' G$ n7 p( R1 B* t6 I: T) I* K$ w- a2 w1 L
var debug=false; * B$ F2 g% n: {, E# {" |
var CleanHideObj=new CleanHideClass();
4 f9 I1 ^% ~, O$ j+ R
. v' i3 }" A g. }+ X) y& Qfunction CleanHideClass()
" b5 f# ]9 j2 U7 l) N{
8 Y" l x! ]( F9 r x 0 e4 _$ Y8 p% N% h \" Z: F
this.on=function(id,bMZ); ^/ v2 t: t. U
{# K, M7 F1 M+ j5 L& m0 X0 ^! G
; z/ [8 x' J! I j8 E( H
if(id == 0)' q+ \ l, H% E' D/ U
{
4 x1 [ {8 P( Q' _) _$ f var page=/* document.getElementById("content").contentDocument */document; : ?& n8 ?) | N [& K
this.RemoveHide(page,"span");
0 R6 s4 n9 _* m* F4 J9 v this.RemoveHide(page,"font");
9 Z8 T) v5 A& f' y this.RemoveHide(page,"div");" O% [2 k/ i" p7 u3 k% Q( D8 s
this.RemoveHide(page,"p");
* y- n ?- Y* {
# ~" ]) E0 H# D% U }
M! Y1 g" k# w & R8 r' A* Q# h8 t3 w
}
8 {/ m" ?/ _6 v( G' C$ t% e# t$ y this.getobjstyle=function(node,prop)$ a7 E' _8 e- C9 ]7 `4 P5 R
{/ _3 D9 D6 l% D: F
try
% f+ K4 N- Y# }6 d- g* |8 { {- e- ]2 q- F6 {8 h7 Y1 \" D
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);4 @2 O( ], c, `6 x0 a
}
/ P( k( L+ J6 {! n X" N" R; p/ @ catch(e)8 y7 v, g6 D+ j
{
7 a7 |. t( [- {+ h6 ?) n if(debug)! j" \: K; ?8 m3 ?# K4 e4 U* I+ R
{
( ]: @, `: e1 D- b/ ^+ N4 { alert(e.message);) A& Y$ V- o" v# \5 h3 c
}5 K( G: u$ B9 J' m5 A9 S) W' n
" [/ F C/ t( Q2 e
return "200";$ p: S3 t% z! A8 E
}
0 `0 D# W9 W: l( Y+ Z# [) K }6 B! e# N( W2 x& q
, [) Z- ]" P/ T
this.RemoveHide=function(page,objname)1 \( o5 ]1 f2 q5 r }0 O# T) m6 \
{: I# N% {* c9 {' u( t& m3 f1 E
try1 J8 x, P0 Z1 b' R+ H
{
. Z6 X v/ Z5 n$ T" T var minValue=15;) b2 M/ p# a+ a7 ?% s4 ^" N: x. C( k
var objs=page.getElementsByTagName(objname); 6 Y8 ^5 h! f; c7 _; r
5 ^5 _0 E) ^ N# j5 Q
if(objs.length == 0) $ U3 n0 }, w, F! Y+ W! d( n
{
) A5 z0 u/ ~6 c if(debug)
9 L3 P0 \ l+ G* Z9 k$ S {
) t4 O! ?- v% X! D0 i) |0 `! y: t alert("no object found!:"+objname);
' \% k5 C- S* l! [ }( F% l, y: s- H6 n1 `& V5 R
}
& s5 H C; @- r& @) o# M0 j else
& B4 W! _7 y: R. H$ b- E {$ k, [4 Z, R2 E; W
% ]# P, ~# T5 C- q/ L for(var i=objs.length-1;i>=0;i--)
$ g/ H/ V" j5 x# Y {& ]+ }5 L8 _# r; t; m) ]
var node=objs.item(i);
! r9 f; K1 y5 y( P- R+ z4 j2 N 9 {; i z) m2 v1 l& l0 e
4 _. F! N- s% W8 j! n1 ]; r' R
if(this.getobjstyle(node,"display") == "none" || s5 f! |+ a& z& e2 j1 A/ g& I, k
this.getobjstyle(node,"visibility") =="hidden" ||' x6 t1 J) _, {6 n u8 I5 n
parseInt(this.getobjstyle(node,"font-size")) == 0)
% S2 W9 e( w, M7 B$ q; u {, l# R6 I; D5 H1 [1 d. \
if(debug)/ k5 l5 }$ w, d* L% b) [2 H! U+ Y
{! A$ L% _2 q' D+ l( R) x- c- _) [
alert("remove invisiable!");7 P$ F C" N% \5 b; P! K
}
' D: s! |' `2 Z5 _) r node.parentNode.removeChild(node);5 c/ }7 L, ?" `1 Y% {* P( j/ [' B4 u
# D8 E+ m4 _% H- v K6 n; N6 s- u }! b, l; \1 c$ k4 [* O2 k
else - X( v& q/ h9 b/ p. [
{
: @; v9 z9 l$ z4 e if(node.parentNode)
0 J$ p$ D \3 C0 j {1 x+ P' {* |( |; h' n- J
var orgNode=node;5 G3 p* w6 U0 |7 Y* o7 j
var orgColor=this.getobjstyle(orgNode,"color")
$ a! R3 b" Y ] var orgRGB=getRGB(orgColor); 7 p( q& _% `: R2 m: S" m
4 z* D8 C. d) c- ]& J var parentNode=node.parentNode) G8 q ?) y1 s* Y8 n# w/ C
var parentBgColor=this.getobjstyle(parentNode,"background-color");6 R! V7 v6 N2 X- }
# L8 k9 u/ o' y+ J! B4 c# X- x var isLast=false;& E2 \# ^0 |( D) `" I, y) ]: O) j% R
9 g, U% g1 O. M
while(parentBgColor == "transparent") 4 M8 E% U, k: Q, u+ l" ^* B5 o
{
7 i& [& t' ~( [9 M/ m1 Z% S ( D6 _$ j+ S k
" M7 h0 Q. p* C
if(parentNode.parentNode == null)
1 u8 v8 v# ?" ?6 u* K9 l4 ~ {4 L4 R/ D- [( [! T+ r+ P' X$ O& ~
isLast=true;- \' N8 ~6 `# U! o' D8 @
break;
! Q0 G7 |* ` h9 j+ _, b }, r& l; ?; z0 b. ?
parentNode=parentNode.parentNode;& x) Q( @& G B% r: a: a7 I
parentBgColor=this.getobjstyle(parentNode,"background-color");
' _5 r- r; u# L# K
$ ~) y; N3 x" l* C+ C if(parentBgColor != "transparent") 4 X8 J4 `( j& F! G
{! H: ?$ p! p+ R0 U/ B- k
break;
9 l0 k- ^; C/ j" j; N3 }& u }* _( R) g8 L" _) q
}
# C6 U6 n8 W& a6 Y5 a if(isLast)
: ]) x+ ]8 e) W {
; l: f9 R" t6 S3 ^0 l if(debug)4 ^ n; u' ^1 ~3 L
{
; G, q& K7 _2 Z( y alert("last!!");
2 c% T& L0 I: _: \" G) P' W8 d2 _( D1 w }( a9 z4 O6 x" x4 v8 J8 P, {
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: [9 M4 i% j; y% i- f {! n% ?" t- ?" a& R. L
orgNode.parentNode.removeChild(orgNode); + Z1 Z! u! {& j( P% v6 B6 R7 |; |1 I
}
$ ?4 V8 B% ^, m' O G/ g" Y6 p$ ` }
, a* w% |& P+ W5 S1 }! k else2 V$ L9 p/ O8 C8 N
{
+ u Q! o y/ J* S s" Y if(debug)
# a1 {3 O- V0 j: a. S/ i {
% I* p- l* {6 _5 m+ C, o alert("compare color and parent bgcolor!");
: n7 w, h- C* h# F, i: ~ }8 P! B/ ?6 j% M, p0 i7 @$ M
parentBgRGB=getRGB(parentBgColor);5 e" `) k- H+ R; n9 z
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; n6 k" [* `# `$ @ {$ D0 i$ }. [! I/ b* n9 k
orgNode.parentNode.removeChild(orgNode); ) ?! x% Q& \, P
}2 V1 D0 y3 p( O" r
}) W' i& R; `( t5 l5 V- M7 S
}# {6 x- W) U# C
}
5 I' h9 o$ U2 {) _/ k- `+ _6 f }2 S' O3 J% o) q: h1 C; B6 ]& ?
}* `; B2 e7 C' h
) f6 ^- c$ l; J" `5 s* o
* p. f+ x! B+ C var itemFrames = page.getElementsByTagName("frame");
! _+ l! _0 `3 S var itemiFrames = page.getElementsByTagName("iframe");
) X( ~, |. k5 i' k! I ( c7 ^0 w) U0 Y# j
var frame, iframe;
0 Y1 S9 v* e% N: J6 m) {( D6 _6 R if (itemFrames.length > 0)( D! }; r$ l; T, z2 s0 P) G
{; a; |- U7 R& X- Q
for (var i = 0 ; i< itemFrames.length ; i++)
, Y: j) D, L8 C* K# W8 Z {
; G8 }2 a1 R/ Y frame = itemFrames.contentDocument;
5 `8 n5 n- x& F* b. z this.RemoveHide(frame,objname); / z0 N `) [! d
}
0 _7 L B% J4 f! I; j& m }+ K6 C: H3 u* M, a+ c y, |# P
if (itemiFrames.length > 0)
6 ^" @0 f l2 \7 P W& t( `+ } {
# J+ R: {$ f, T1 W7 d8 F for (var i = 0 ; i < itemiFrames.length ; i++) 7 p8 l; P+ h9 N
{
j" r6 Z3 B+ I2 k0 Z iframe = itemiFrames.contentDocument;8 [# c: A2 z; r( R
this.RemoveHide(iframe,objname);
, O# a, o: }0 q# _+ ]1 a }
1 w- x0 X9 e. p# u3 f }
9 L/ \" K- P. \' d% r% y2 R# h }
* u( W- |$ z! \ I/ ?7 Q' C! Y catch(e)
" B' {! W" E9 f8 r( x3 |( H- S4 \ {( X6 ^ x8 V! q# Y( i! }
if(debug)& ~6 Z2 N' T+ [: N n
{
, t( I3 \( |$ c alert(e.message);
2 l9 a% \" S8 M' N) ]" f9 n- c }
; a; |! D$ f+ l# H; A, h: C5 [ }+ J" t7 R" o' K1 O; j
}
4 q- e U' R0 `* B7 a' A2 c3 i 9 G+ t) N d& ^/ Z- r* a" d/ N
}% {, N* t& Y; A( m8 H% v. H
# y0 z |5 G. ?function getRGB(colorString)
; X5 h! @3 h1 z# V/ u{
% S* m6 Q: L, j8 |0 z0 u- l var RGB = new Array;) a' T( A7 N, E% O% x2 z
var tempSting=colorString.substring(4,colorString.length-1);* V7 C R4 o) A' x7 v: n
var tempArray=tempSting.split(",");
6 m" \( |0 W( G6 j" _, }+ _! R: n
4 }2 S4 \& \9 H9 R& O RGB[0]=parseInt(tempArray[0]);" u8 ]' [$ m4 t% [& c
RGB[1]=parseInt(tempArray[1]);6 d- i2 Q5 y0 G, W1 p
RGB[2]=parseInt(tempArray[2]);; x, o6 m9 C A5 [3 c& n" R% j
+ j4 b& Q+ R& @* ~7 Z0 U: Y2 H$ t
return RGB;
6 H* d; M, ~( ]- k4 P- S) x}5 {1 C9 i: O2 W7 H1 J5 {
function keys(evt) m( B2 g+ j" L1 h; k
{
8 n8 i4 K% t/ R: s+ B if(evt.ctrlKey && evt.keyCode=="81")
6 u% a/ A; t+ J% c' s9 ] { + ~; P A2 s2 U8 O- z. }( P
CleanHideObj.on(0,1);* R+ K R1 l- Z0 {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 N$ p0 i0 `4 r( |8 i & a+ K% l% Y' A( W. Q; A1 R
}
! b; w7 e1 G4 l. t } , o. {; A Z% k3 ^/ {: i- D
document.addEventListener('keydown', keys, false);
5 G, g* F. o" l; E3 A# DGM_registerMenuCommand ('Clean Hide',
' Q. G1 O" q7 T3 r; |function(e){
7 z; r$ N( B" K" rCleanHideObj.on(0,1)
4 \/ a( w q/ o/ z# g0 Q" q; Ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 v( y7 G8 l+ t7 S) G4 }* v* T});0 L1 m' F/ ? G
|
评分
-
查看全部评分
|