|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + D8 x' i ]& a; |% ~+ ^& I' V& y
7 q2 H7 ?. u/ m. Z9 S0 g! c1 `5 K: q火狐插件,用猴子
; ]+ D; s7 s$ H& B& }( v& J1 H0 I0 l
8 S @: _* Y, V0 x- v& `var debug=false; ! ~* E5 d5 T0 s
var CleanHideObj=new CleanHideClass();
6 w+ }2 G+ D' U4 a- z1 e( ]
4 g' @+ J- Q# I. L# z& N! |function CleanHideClass()
* J# d7 c& U6 f: D; W3 [# q1 C{ ( g/ _; L$ a3 Q! Z H
" {( N9 n* f' R! w
this.on=function(id,bMZ)
7 I* Q1 g: {" G5 ^& w( N D { a7 `1 L( V3 U6 L; h9 J* `7 Z+ F0 X t
/ P* H1 J K0 Q! N+ d5 I& m2 m
if(id == 0)
$ r5 t! d* n- K$ Q) C7 e {
% y: ?2 ]: V: J var page=/* document.getElementById("content").contentDocument */document;
( ]4 j! t. O, \6 D9 u# o this.RemoveHide(page,"span");4 m, X& q$ ~' X1 w$ h
this.RemoveHide(page,"font");1 H- Z# a; t3 j6 j1 L0 n: y# ?
this.RemoveHide(page,"div");
' i" X9 v4 u7 e0 [$ q this.RemoveHide(page,"p");
) _" x$ Z M4 U 7 f: ^% L" a! f8 ^
}: p( v: k3 N- ^* w) ]
0 z) \* I- H. V9 q- f& \ }$ b/ p* ^7 T: [' @7 X
this.getobjstyle=function(node,prop), W1 t! F0 f( H4 V9 E
{
- ^* U' M; b, c* o: f* w try& C6 u- _# e/ s
{
( y8 k2 {4 S0 H, [0 w5 h$ ?5 q' x return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# z0 r/ x( x6 G$ A! n }3 J! W8 B7 H ?) H
catch(e)3 X5 @3 a. b; c j* V3 e. O
{ d" [, c* l, r0 o; G: F
if(debug)
3 I" K% @5 i9 t) J4 Q {
! G( S O2 ]0 x alert(e.message);. S/ [8 g, F" e6 D7 m* J2 ?! B3 |6 ?
}
0 h. ?& n u! B0 k* m 3 @) U1 g( Y* c% p3 b6 y
return "200";
( }) }$ r* L" g& ?( \ }/ A7 V4 q& K$ k, Y# P; l1 S
}
7 J9 h3 N: k) N' ^, H" T# I 6 |& z: Y9 i7 A# I
this.RemoveHide=function(page,objname)" K7 b1 _) C2 j9 r
{( D, C" }0 k7 ~% @% Q9 q) P6 H
try& T E9 v, q$ A2 G
{5 e1 p- A6 i- f" ^; ^3 }8 {
var minValue=15;
" ]9 V. B' \ p2 F( m U7 r1 { L var objs=page.getElementsByTagName(objname); 7 B! O, o5 d4 Z5 s- |- r
! c" y9 `9 X+ I" f* R' t" U8 F if(objs.length == 0) 1 W* N* P9 y" s V* g) f
{
% L* [1 W4 N5 R, l4 r9 f, z% d" F if(debug)
& w$ Z/ n1 u8 ~0 f6 E7 Y! ]) G {
- E5 C8 a0 \( _ ^1 [' z: e alert("no object found!:"+objname); B4 q, f1 W- Y9 {! _: {
}1 p1 o8 }( D3 U
}
4 Z; m k# f8 f, R9 | else& ~* k7 r+ B% F. o# S! z- M3 M- [
{
: |; ?1 _8 ^2 W# L/ {4 y
$ T5 j$ l+ L3 D; ?5 { for(var i=objs.length-1;i>=0;i--) & h7 @4 |* W: R' C
{# x& X3 W5 D6 g; _. i
var node=objs.item(i); * R& \* G0 i2 B# J5 d
1 s& i- M9 g7 l( U+ }
4 n' W1 S- q- H& A7 Z if(this.getobjstyle(node,"display") == "none" ||
* m. y6 H. B1 B! x [ this.getobjstyle(node,"visibility") =="hidden" ||
( Y' I; x, G8 f, g2 f$ |# E$ v parseInt(this.getobjstyle(node,"font-size")) == 0)
2 K$ U6 s3 ~" |6 } {, `8 `* v: O; _6 O
if(debug)
* t6 x; r/ ?/ g y' ~+ K }5 p7 p {
" h) Q! a2 J+ }- i+ {. O alert("remove invisiable!");
& o. Y T. h3 R1 F) g) k }
5 k% ]0 |, M5 z) U. N; h. A node.parentNode.removeChild(node);
, K" Y, i7 R0 i) W+ q/ k - t$ h5 p1 {6 C, S
}' g a: @) E, M+ C" C) w, d! d' Z3 Z! k! I
else
) H* \: f `3 `4 q, k5 r5 S {. E% G* S( a- Z1 s
if(node.parentNode)
, x" V) Z) A' C4 r9 J) L% A {
% u6 b* A0 V- N- f6 d" j var orgNode=node;
6 C/ O6 a% m1 k6 ]5 @ var orgColor=this.getobjstyle(orgNode,"color")
, b& @" n9 ^6 x* M( h; k var orgRGB=getRGB(orgColor); 8 }) R6 h6 h- \! r6 b5 c/ R
* C1 W$ C9 K* b var parentNode=node.parentNode
% }; R4 Z1 O9 h var parentBgColor=this.getobjstyle(parentNode,"background-color");
, _( ?% t9 V r) ~9 R4 e# L $ a6 E7 Y6 o( r5 O4 P: C& \ J
var isLast=false;
' Z& H, B+ y) r, ^4 H8 R
4 m! l7 Q* d# o. u while(parentBgColor == "transparent") ]& v- g; ]. V2 u& {$ E R; v
{
7 { g, V7 F8 {+ ]8 b& g) x
x- H6 w/ p1 N/ L7 c% N
, p3 d/ d! U$ ]5 P5 c. Z( c if(parentNode.parentNode == null); }8 _- m0 K# D8 A F
{. C% u# F6 c9 R/ _, e2 V) ~
isLast=true;
8 C% X9 I/ d! d$ ` break;
% v5 x7 X/ O# v8 i; _ }; l- D; Q0 B6 M% H
parentNode=parentNode.parentNode;
4 k; B( |: L- D" d3 O$ J parentBgColor=this.getobjstyle(parentNode,"background-color");6 d( P, S7 v5 S( S6 F0 l8 A
F) X% g' k6 Z# f5 A8 x$ K
if(parentBgColor != "transparent")
8 i7 c$ U z- p- F {; g9 N/ s6 C6 e- y v7 E* }
break;" o0 Y9 i7 U+ U l& m8 H+ N/ ]% e
}
5 k" n: o$ P4 d/ s+ s }
' {" ^4 r% a7 w+ `) @- y if(isLast) . M0 S5 [6 @4 g, o& @8 v3 f
{
+ s+ @/ J4 K8 Z% G8 O* P3 R if(debug)
6 ^. ?1 b3 t7 r8 V { k! m& f2 @) h1 D" \! ?8 ]
alert("last!!");; n7 {( e1 c5 b- C) P$ o
}; M8 M% c, l, k* F3 I
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- j" h9 b) b: B
{& d3 `% D$ M; g% b0 n, O* F
orgNode.parentNode.removeChild(orgNode); ; S3 T( w+ X; @
}9 q z1 I8 t, h8 K
} v2 w& }- o f4 P
else
2 G( K) H$ J/ _9 a+ k {
% b& ]! {3 X$ I3 M if(debug)3 F- s0 d8 ^7 L) x7 d+ I/ B; S
{
y' @7 i; X) ~ alert("compare color and parent bgcolor!");5 t. x. V: ^, U+ W5 z
}, Y) L; S f- e; `
parentBgRGB=getRGB(parentBgColor);( h, I! A+ Q! C: `; f
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))! f( M- m9 j) U0 I- x
{" n) b& L9 @* H4 B$ n
orgNode.parentNode.removeChild(orgNode);
3 v: v( `' r1 O4 G% \5 u3 U2 T+ O }% I* ~+ l" m5 z: ~/ I! b% v/ Z3 W4 f
}: a( o2 c! n1 \/ u, Z
}
+ l4 m& q1 @6 R: ?& c" D }
4 A, U" h6 C" i! h7 O }* B5 W) T# a. n2 _2 }, @
}% T: V7 b9 c1 `1 B5 v- l& v
& j1 J1 k4 J, C. h
0 T* u1 O M4 s" Q* K3 D
var itemFrames = page.getElementsByTagName("frame");0 l6 S7 d/ p7 m' Y
var itemiFrames = page.getElementsByTagName("iframe");
. L% |8 J8 V( M# g$ ~5 |" C* | 5 M3 t& A. R/ F7 n7 z2 g. R
var frame, iframe;
2 n3 t( O6 A8 [2 }! h if (itemFrames.length > 0); f' w. i1 d9 V: l6 j( k4 n7 q) W( {$ Q
{
: G) {+ C# @4 e( l for (var i = 0 ; i< itemFrames.length ; i++)
K) w1 D/ U. S3 a6 l {9 ^0 j5 p/ \+ v+ R
frame = itemFrames.contentDocument;
% M8 p9 U* s% g this.RemoveHide(frame,objname); ) |1 s+ U/ \, j* ?
}
# O r7 X$ l- F1 Y) y }
' X0 W9 U4 {5 G6 t* p if (itemiFrames.length > 0)/ y. X% R5 S: r1 ^! N3 G6 R% ~
{
* F4 y) c, C. {' H4 o for (var i = 0 ; i < itemiFrames.length ; i++)
% e0 A7 s: {5 { {& Q- }, e' O5 n J$ n4 Z- m& e
iframe = itemiFrames.contentDocument;
1 B1 E6 G: p2 N' n; ^5 w+ A this.RemoveHide(iframe,objname);
; U2 n3 |! O- t! x6 e }: _ {" P. O) r
}; ]# n# B& i+ V x
}
. @: y" O" R, C2 ^8 p catch(e)! T \: c6 O; r, b0 }: t2 l
{
9 H, L/ B! g8 d9 ] if(debug)1 g" \. Y4 f6 u0 e3 C% X
{
2 w# g# Q5 X# u4 h) Q) Z alert(e.message);0 u3 B8 [" A6 O# a7 m
}
" ^7 Y: k$ M7 M [1 I' M, ~ }
: \ e0 g, L. I% q; l# n) {; p- u }' U# X5 w# j8 n) X; t' B* V1 T6 d
% {( o6 J; s, }6 \% S0 _( K
}& g/ T( b6 U/ v9 i/ v
6 i8 N# L9 H A) i5 nfunction getRGB(colorString)" k2 P0 I7 z( G- D; h
{
: n9 \9 J& `* m, v! m/ W2 \ var RGB = new Array;
0 M; t m$ f6 b1 i% X var tempSting=colorString.substring(4,colorString.length-1);9 C& s: s. z/ j
var tempArray=tempSting.split(",");2 k! }+ H' D$ ~' J( g1 y
1 ?" n* @& q3 q, B7 z T RGB[0]=parseInt(tempArray[0]);
2 Q, h& g% \& ]5 n RGB[1]=parseInt(tempArray[1]);
6 Q2 B" W7 n# p( x% m RGB[2]=parseInt(tempArray[2]);
* S' J4 Y& Q. B! k! ~ " J4 c# y. D$ l
return RGB;3 | d7 g3 i- S7 f6 ?! B: s
}
4 J+ J8 G4 r5 I5 i X1 l! |, Jfunction keys(evt) $ N5 W. [" ?. [$ Z
{
; o2 t* x0 t- ~$ w$ h if(evt.ctrlKey && evt.keyCode=="81")
; X! m- ^/ N l" H {
5 i% a5 q% u( W+ { CleanHideObj.on(0,1);6 ]# w6 {3 t- P; D* ~
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * n' u; \2 x4 ^7 ?6 d" M9 |' y# L
8 `& E/ C! Q+ d1 s, C } " Y8 ]1 P# {7 t; \% u7 `5 \
} ; o4 x& @* y8 I' G& R, X V: B0 `9 K
document.addEventListener('keydown', keys, false);
; d* D0 l1 ?/ wGM_registerMenuCommand ('Clean Hide',$ S4 A; C8 `& Q) ~& K* B T T
function(e){* u$ s" d8 W! e p- Y
CleanHideObj.on(0,1)# w. g' c5 v; a1 K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. k2 v$ F! Z+ t% }+ Z2 ^});
6 R5 S3 d+ y6 B% G; s |
评分
-
查看全部评分
|