|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 Q' F: [' b! |7 I6 d6 N6 i' k& `: I
火狐插件,用猴子
~$ w* V# U1 Z; G0 l% R/ |" l W5 Y0 o0 k- W9 Q: S) j
var debug=false; , f6 d* ]# f2 P9 g; U/ l
var CleanHideObj=new CleanHideClass();! f* H h& @8 n- S8 m
7 H) w5 Q# N5 U( ifunction CleanHideClass()
+ v* h! d% I8 ]3 \6 f{
4 R! l9 j* C, |0 {# t; b 6 q/ s( d0 G8 a- G; h4 m8 h
this.on=function(id,bMZ)
% w: q% M# }2 T: _+ L {
% @, t, y: h5 i$ ~& G4 b+ \4 T ! p8 M* n5 K" k. V% ~- S0 ~, \
if(id == 0)2 [$ w' L- Q3 \* Y
{
+ g1 Q2 m% p; Z var page=/* document.getElementById("content").contentDocument */document; 0 o) G" F. }! _, M: D8 d; i& t
this.RemoveHide(page,"span");0 p8 S; ]* l" _6 I; C/ V# C
this.RemoveHide(page,"font");
% w, _3 W& V8 e! a- q, {; t this.RemoveHide(page,"div");- s+ b* A5 L9 H+ O' W" W1 m
this.RemoveHide(page,"p");
K3 c4 H# D6 O: }% D9 ^ # b% r+ m; M/ x& m- n4 U
}
c! u) j$ i, P * I( P) H9 M$ x8 K" U% H: ~4 ~
}
% V" T P1 b- y" R' }8 ? this.getobjstyle=function(node,prop)
8 a6 P% u# C: q0 o- [6 y1 ` {
2 o' k5 D1 c! {1 U) i try3 w( H' a- Z5 s8 f; l
{+ }8 a, D& Z- S7 m6 x; t
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
: F. D' n/ m1 T }
& j! T# m' M, L2 e( M: G# x: E catch(e). W/ U: D' |1 l% j; o
{
s+ {. j& l$ P! V) D; o% Q if(debug)* F. f; G8 N5 o
{' v5 A+ h6 s3 x) A7 t
alert(e.message);
: q _' P# B4 {, w# y" J }5 s$ T( C0 k( N& A9 B0 Q3 `
- K6 D4 A% f2 i* `: z
return "200";
^* {" k4 M$ Z8 x }+ Z0 n: A- f4 `7 V- |! a- J
}
5 m6 o0 p+ N6 o4 a$ q Y1 O5 ~: Q2 |7 x ^ K# o, `" A$ q
this.RemoveHide=function(page,objname)
0 d( {4 v3 \& n- t$ m {
+ |3 l# Z' Q' T3 @3 V% T try
, V" L' i/ F( ^0 r9 b5 u! ~ {
% e& C' P3 @# W; b6 N var minValue=15;
* a& e7 y l0 d7 E |* U; y1 r6 S var objs=page.getElementsByTagName(objname); 5 z# \; v, O$ @& R1 \! a5 T/ S& j
5 ^0 h# J$ R' R5 b9 a5 O! |& R
if(objs.length == 0)
4 m( _2 p) z9 @ } {- p: f9 U. z& v" R
if(debug)
& u& Q' q6 P" l n {' h! I0 \- X; Q* o# I- V' ~
alert("no object found!:"+objname);
8 Q, h) j( g9 M3 E8 _ }$ {: N; b& ?; ~
}
^' z j" G6 l1 W" [ else- J$ l9 ?. A, W5 v
{
* V+ C+ G! p9 i# R( x' c% h
" k- ], Z: Q; l) l for(var i=objs.length-1;i>=0;i--)
8 q. l v2 c) ^) n8 r8 S% [# H {. L( Q0 u& F6 ?$ G0 L
var node=objs.item(i); , i+ h: v- G/ |; X. D7 ]
, n @$ M: X, y2 T
, ^) [- C6 Y# f1 g! X& B; N if(this.getobjstyle(node,"display") == "none" ||
1 N$ S% c1 \- I0 C. ` this.getobjstyle(node,"visibility") =="hidden" ||9 L( V" B6 H6 P* a' u; Y
parseInt(this.getobjstyle(node,"font-size")) == 0)
8 b# Q0 G) F- ]" G" a0 Q z {9 G& E: B8 V# Q; S+ u+ D
if(debug)0 q0 [+ y! v# F/ f, Z `# L
{
0 Y/ |# u. {' b4 S/ S) @ alert("remove invisiable!");3 B4 r% D" a! L: v" E5 \
}% x& a% E0 i9 r& R
node.parentNode.removeChild(node);
$ D1 l( v/ h6 l0 |2 _5 [5 E& w7 d
- q5 b2 ]7 x; O, ` }* ^, B7 I1 w! |1 k* z& l6 S
else
# c7 O/ O0 v# ^; u7 v( ? {- G8 \) C, r! Q- c
if(node.parentNode) 5 Q! J; X9 f) L. s* K- J+ S
{+ l2 S- F- p# T5 \7 l2 B, F J3 K
var orgNode=node;' m: S$ ?- e; H
var orgColor=this.getobjstyle(orgNode,"color")/ p4 q( H$ U# e3 ]0 m% H! x
var orgRGB=getRGB(orgColor); # F' c* J: c5 E& z* T7 M- R
6 O2 V Q; r4 O+ N var parentNode=node.parentNode; O+ `; |& j: e& \
var parentBgColor=this.getobjstyle(parentNode,"background-color");% k7 h; V _: N! j/ A# b
/ h8 p7 u. |0 h$ F2 {9 _* i2 p
var isLast=false;, e- X7 T' o" u; W: U* F$ Q
. ^7 y( a; n' X7 D, p0 }" B3 U: g
while(parentBgColor == "transparent")
) z, d. B1 L/ a4 A/ P4 a7 i {
1 Y1 X( }1 q+ q. f6 [
0 w) `4 a+ f# f* \) H! d' h 1 D* N* w+ o8 c- [
if(parentNode.parentNode == null)
' D' h* |- q6 d" i0 C- { {/ X& X1 E; Z' q$ C+ I
isLast=true;1 M& O2 x6 n4 o% Z% [) X$ ]* a
break;
) X3 p7 K, J6 D$ D3 n8 J2 R }) y8 u- K( M N) ?4 N4 \2 z
parentNode=parentNode.parentNode;
: b, @% K1 `" X/ G: E" v parentBgColor=this.getobjstyle(parentNode,"background-color");
& |5 l4 y/ a/ \( s7 Y) o( J$ n5 H, R! V
if(parentBgColor != "transparent") $ ^! [+ U$ q' ]8 F
{- ?; e! @& R* o1 H
break;% O/ e t# c: d& J. _4 j) H: B
}/ j k E& Q2 K
} o9 H4 }/ H! ~4 W* F
if(isLast) 4 l" j- D( _5 B: @
{+ p" l; Z8 U4 @( q, r8 B4 N4 Y9 E' y
if(debug): p& g) } \1 b" w6 B2 x; Z
{/ ^4 O4 O: W1 b: q( f
alert("last!!");' T0 O# \) s2 h! B
}0 O* z9 U2 ?7 c2 k
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): f# ~1 a0 `3 A0 [3 s+ Q% N
{3 u2 n2 V8 V. A X! N+ R0 d( ~! i! U
orgNode.parentNode.removeChild(orgNode);
4 k3 E( C1 i8 G! U3 _ }0 [0 `, b1 O; ~* A7 Y
}4 m7 ]1 Y9 R6 ]+ w/ A
else
- ]" G2 y% o, u1 v9 u* m& X1 a- r {/ x+ ]2 ~/ W; K/ Q' O/ K
if(debug)
; i: x* {/ Y" ^, I! ] {
; B, \/ {& S E) I8 J) g6 ?; n7 R alert("compare color and parent bgcolor!");
6 H4 t6 M& T% i! l0 v( R9 r! k2 ?: L( I }
, B7 M/ S! [3 O3 D7 A5 p; h2 k parentBgRGB=getRGB(parentBgColor);
( S; a: j+ z3 E4 m4 D if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ S) M' s4 f2 F/ m9 ~9 V {% b- [' _4 z2 C+ s* ?" e
orgNode.parentNode.removeChild(orgNode);
; r$ B& O9 L! {' h# ] } Z. x1 ~7 f6 F; |3 x
}
1 e# A# }. o9 | }- a" e6 N" k! I1 j
}( u$ D4 D3 L0 f4 _/ c
}7 r. v7 Y9 d, L7 j! i+ U3 f4 Y
}
/ |5 v! R% P+ H
. @ `5 m3 C) b$ x/ L; e
- P4 N$ O1 ^: e var itemFrames = page.getElementsByTagName("frame");
$ T5 l# V; L2 Q var itemiFrames = page.getElementsByTagName("iframe");
# i& H# ?* {, u- K8 O - R4 n( M4 Y: P: R- K
var frame, iframe;* [ T8 m3 O1 p, n2 ^5 i
if (itemFrames.length > 0)
$ I3 @0 d( @1 r {5 m2 r4 S& { J2 z: k* W5 ? e0 |
for (var i = 0 ; i< itemFrames.length ; i++)
% V0 c9 H. _: Y* Q' P, t# e {; v3 J6 I2 A+ G) q* {
frame = itemFrames.contentDocument;
% J8 m* N$ M: o this.RemoveHide(frame,objname); * B Y L4 K% A3 N" `2 `# C
}
4 u2 _: {( N2 k }8 _; t7 i% S8 c7 Z: v6 z& _
if (itemiFrames.length > 0)
5 I3 m! C& H$ h {
9 d: b0 T) {7 y; ?$ i, j' _: p0 [ for (var i = 0 ; i < itemiFrames.length ; i++)
- Z4 J+ R0 z- X' O1 n {
5 s2 ?& w, O: w4 C- i! `. X iframe = itemiFrames.contentDocument;$ |: W6 `9 K/ v9 W5 B
this.RemoveHide(iframe,objname); ) W3 r7 W b, t1 n3 J
}
% O3 o' z$ Z' q4 _ }
8 h- [- n" G, B: H }- ~; k0 G3 V# G$ s: q _( A' {
catch(e)) A4 X; E5 _, v1 K" H( ~. F0 @
{
f) Q" d# ^# |* a% t9 X if(debug)9 t: a+ b4 o: c6 Z' _+ f
{4 {5 ]. a7 u$ i6 ]6 B
alert(e.message);
9 D, A, Z, H4 ]' [ }) n" s" G) _8 }% }( D
}7 U, @7 Y& b0 [) G+ y7 ?
}
" m8 d/ {: b$ Z) v
% F k7 N& W* d3 m7 t6 R* b}5 f1 x- H& N2 _
/ }3 _2 ^0 _2 y. Q5 C
function getRGB(colorString)
# ?: P% X8 ^2 [6 M) l) r{3 w* O5 Y4 ~' ~. @
var RGB = new Array;' ]8 I+ y( ` J+ `6 X( ?5 ^
var tempSting=colorString.substring(4,colorString.length-1);
) g* Z u* n9 R) a( k var tempArray=tempSting.split(",");" i- u1 e T5 ^. a9 L D
; P2 K4 L, {6 A; [. @+ S
RGB[0]=parseInt(tempArray[0]);
- g9 D3 K. E- f+ v, E RGB[1]=parseInt(tempArray[1]);
; S3 l3 W- ~1 }3 \ RGB[2]=parseInt(tempArray[2]);$ L/ m& P' M+ }5 k! |
6 F2 J" K" `+ R( e/ k K3 V' B. ^ return RGB;5 W1 _3 [0 ^6 u
}' O/ V- ?! x5 a L4 g' ]4 D+ v
function keys(evt) # `- |# Z; n/ M; p$ A( W
{
: B7 \/ Y; K1 a" | i- o2 O6 x) C1 F if(evt.ctrlKey && evt.keyCode=="81") ) X) C5 T- H& w5 o6 Y0 M
{ 9 p7 n4 n% ?; Z, y
CleanHideObj.on(0,1);3 @+ U# t* t/ u2 S* M) ^1 n8 l
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); , ~8 d* L- R/ {% y8 `
9 f! X' T3 Y% H( V }
: }' s0 x7 S: k2 @0 g! C } , \) _7 M+ i0 `: n* K
document.addEventListener('keydown', keys, false);
& }* q4 q( {, v, t" RGM_registerMenuCommand ('Clean Hide',
3 k0 r4 h7 I, B8 B1 `function(e){
: B3 q. B7 [( g6 R# tCleanHideObj.on(0,1)+ R+ a: E7 V; e7 u9 e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");% R$ d% ?' A. j. }
});( b# t, z3 W" X4 U# z
|
评分
-
查看全部评分
|