|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 " F! F3 V1 B% {7 d
H; c9 T$ ?5 v. q9 Z
火狐插件,用猴子
( _+ I8 l8 D4 a$ ^0 d/ h( k$ y6 C% T9 d. u+ M+ u' |
var debug=false; 0 M- i1 d: a3 J W8 u7 J& B+ s5 j
var CleanHideObj=new CleanHideClass();, M- J* u4 C" k1 p: U/ a# n
( |" l! o \" f8 F I0 Rfunction CleanHideClass()
) p" r B/ B2 y. L7 o3 f{ 0 @8 b+ j" P$ F# Z+ h2 r+ q7 a1 S5 X
; w0 }/ }, [, P0 u! ], v: x this.on=function(id,bMZ)
* s9 F5 I* h/ g6 \5 }9 N0 f; l. Y$ b {( t3 r6 P* K" `5 I* E: j; X0 D
& ~2 Y$ ~. O9 I2 s) o/ ? if(id == 0)
; A" G1 T7 Q6 t7 s" h# n, B* | {
, u& S4 P* y- G3 A& g: K8 E var page=/* document.getElementById("content").contentDocument */document; , |+ h' l, p; g
this.RemoveHide(page,"span");
3 r9 R! m" u: N( @: d) ^ this.RemoveHide(page,"font");
/ y, m7 l5 Y6 `8 ~" B2 {+ W this.RemoveHide(page,"div");* X7 ^2 k0 B) V' S$ w9 g+ Q, L7 }
this.RemoveHide(page,"p");# ~: V: C8 V3 M/ u9 D! D3 H
+ j! Q1 i6 m" o
}
# Z% t% ?4 V9 }$ M8 K
* K: q- Z7 B8 b }
8 }8 A1 K7 H8 E% D% [0 U- j! u this.getobjstyle=function(node,prop)+ X' k* K% X/ i/ S4 \0 V8 `
{1 N. k) t4 ]# e6 e# ?' Q
try4 G- C% S3 B- ~! n. L9 y
{5 W. b ?6 r z6 [
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- @% O0 W( d) F- W: I! q6 t }6 y2 ^/ a4 y% X9 }) O
catch(e)8 r8 D2 d. X/ r
{$ y }1 Y& A9 ^( ^2 N
if(debug)
) P J4 T) \3 n' Y {" U" s7 B/ b5 g# J2 U$ p
alert(e.message);. c8 Q# }# `8 @0 n8 `
}- R& v1 [0 N) R( a; h* m
6 ^! E6 F2 Z) g return "200";
6 @% S3 _8 w# d* ]5 t }! u& F( f T$ M, ^
}
J5 l! ]! |0 G% O
5 I% e! ?& L7 B$ G t% e this.RemoveHide=function(page,objname)8 c8 a- E P5 B
{
5 b: K3 {8 F% r" l* L6 l! t4 Q try% C1 n/ u$ h" y S5 I! b) W, g
{3 k, Q4 x0 M9 D5 e
var minValue=15;% V5 i2 f6 j& D' H
var objs=page.getElementsByTagName(objname); / Y% Q! z/ B( y3 m
" z0 x$ v- m- r4 v
if(objs.length == 0) # m( S: ^, g3 \* d% {& O8 u
{" P% Z7 S: D6 v! K
if(debug)
2 S2 t/ Z: {9 v+ Q1 h {( b0 t) {/ v$ U
alert("no object found!:"+objname);
; u9 S R2 ?/ P. C7 s }+ v% v: n) t+ w) z8 Q# T
}
$ a4 `+ x0 |, F+ v0 U else
. \0 C+ k, Z# K/ ]2 I6 n4 s3 m8 b {3 N. f% ^+ u7 T% |, c) }& m+ ?
% t1 i9 O5 i) B8 k
for(var i=objs.length-1;i>=0;i--) + b* ?& U& I6 m. W9 p% n
{# E7 S+ H% P7 K, A
var node=objs.item(i); 0 j7 F+ O( c6 Y2 }% Q( D
- @' t% T, h, C
3 j. T, t7 L- u if(this.getobjstyle(node,"display") == "none" ||5 ^5 Y7 w* i Y+ @" B3 p
this.getobjstyle(node,"visibility") =="hidden" ||
& T# q% ?! j& \) K* ] parseInt(this.getobjstyle(node,"font-size")) == 0) & x2 h* q, ~: r4 j0 K$ }; |: N
{1 d1 n, L, {: V
if(debug)
6 s# Y* |& T2 P. v- Q- r: O% \ {
& [3 a9 | v8 [5 g- S alert("remove invisiable!");
9 p$ G* L4 ?4 K ]* r }
3 G( H3 B' G- X, f7 Q$ C node.parentNode.removeChild(node);- }2 ^6 m, k `; x( S3 C) V
$ T l: e n' [, s; q$ m
}
* J( E5 t/ x7 w4 [+ ` else ; [9 A2 d2 q; n; t
{
0 r5 s. P* O3 T' A if(node.parentNode)
( C9 S3 G" u# M6 o b1 s- r& @ {
; O0 s$ z% n6 M9 N2 Z& C1 V var orgNode=node;
+ l% Z& ]* M8 w5 G var orgColor=this.getobjstyle(orgNode,"color")
5 J0 K0 G, A; N var orgRGB=getRGB(orgColor);
6 I2 ], m5 ~, f- Q! G! w/ k 6 u- X: k2 i0 x! g& c' s
var parentNode=node.parentNode
& Y, p) e/ {6 E7 p( | var parentBgColor=this.getobjstyle(parentNode,"background-color");6 I0 c- d _1 K
3 n0 C" Q! p* J% w& ]: V' m! M var isLast=false; N! n4 @5 Q/ k: t: j
8 ^+ ]) G# z1 y" h# n
while(parentBgColor == "transparent") 7 h# u4 g! o2 ?% x6 b
{
; {! {0 j+ s' E: `. Y' v
0 V8 q* S( M y * C/ Y+ S3 ]( r, U) _
if(parentNode.parentNode == null)
* L. p: G5 D: u' G: Z {% h$ ?/ Y: L8 B7 l4 _6 G! n/ {
isLast=true;
) K1 e2 i: {. C# i: ^ break;
* O5 D& K: \. M% [0 y6 @ Z }0 f) ]! P: O8 n' J9 g. b% O
parentNode=parentNode.parentNode;
+ P8 U% S! u. D. s+ t: x& a parentBgColor=this.getobjstyle(parentNode,"background-color");
1 I8 H, {# A, g# t# O+ i7 ]2 Q% f$ w5 S' G J: B) K1 B+ r7 P
if(parentBgColor != "transparent") - b* @/ A, d5 T( Y9 B) `
{: d# |/ a, M; b
break;
& Y$ F2 Y p; z' _0 ]4 W0 v }. l. Z# E% O1 n
}# n+ X: M* Z0 U( Z/ q; L2 c
if(isLast)
& v- E6 W. d8 k3 f; |( |6 M; T {) e: k. g5 e, f( y1 r
if(debug)
N$ k6 j* q/ l$ k' N6 N' l {( |5 k% g; {1 i( W
alert("last!!");
0 _! I" [$ [7 O }& S% v( z: i; g0 l, O6 W
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); ~7 v4 u/ M8 `( A7 m
{/ U1 X K4 H$ m
orgNode.parentNode.removeChild(orgNode);
& J' N. f/ v# c$ s }
* {0 _* R: `" O) W8 V }
5 n- n) m; s( B% _$ C; N) x else+ K, f2 R* I% v) S" H+ [
{
1 B4 |/ h9 Y8 v+ a9 P3 C if(debug)+ q9 r" G# X, Z$ ]4 j
{
M6 D& L$ o/ Z! ^" |* k7 e k alert("compare color and parent bgcolor!");- G% @' [: w: H" n' ?
}' B" z# g) G% u/ t: r
parentBgRGB=getRGB(parentBgColor);( }; H( e: [# L9 x' e
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
S& S9 E+ k, X" }+ j) o: s7 C {
+ ~* a$ g) F! u9 \ orgNode.parentNode.removeChild(orgNode); 3 f/ V) O, v6 D0 [* K. I
}4 \7 X" I" j# l- r
}, ]+ T, j2 T9 F# d j
}
9 p9 [- z8 j4 m }) d9 p" ]' K9 Q+ D* F6 p: E( {
}
( V* I. e Q% W$ s }/ t. n5 T* T. I2 ~2 C; l B, K
; q3 F( {5 J" \2 @
) W% I% ~1 Y0 N var itemFrames = page.getElementsByTagName("frame");
& x U" T' R5 v) o: W. {3 [ var itemiFrames = page.getElementsByTagName("iframe");
3 B9 k9 C. e6 ]$ k) f) W: C
9 L x3 o" I$ l/ g var frame, iframe;
# \& p5 p4 p0 @' e- ?+ Y# n- Q, W if (itemFrames.length > 0)
) O+ b6 K- E# b3 l {: K6 \; s* {7 J- l& p/ M! E
for (var i = 0 ; i< itemFrames.length ; i++)
5 c, f- c' m+ g1 F% Z( b {
" p3 ?' P) K. j. R9 B2 a frame = itemFrames.contentDocument;# D( |" A" n8 c( p9 I/ v# h7 f$ {
this.RemoveHide(frame,objname); 4 w/ q/ L6 J L+ t( W9 A
}
; t% _& ]) Q3 D7 g+ [ }5 O) n; ]+ B* t ]0 |4 m
if (itemiFrames.length > 0)! _) B @% Y8 y& E! T f
{
3 P" h6 b, }! D( G1 A for (var i = 0 ; i < itemiFrames.length ; i++)
0 m$ k5 _5 K- `- N" P7 n' S! y {
- q& ]- a3 |) t! G! c iframe = itemiFrames.contentDocument;
. p, C, h; G2 t) i+ w$ P2 Z; v" z2 W this.RemoveHide(iframe,objname);
( t# t6 Z6 ]3 G1 N$ J }( p6 X) h; ?6 h H
}# Q5 J2 _: ]& I: F! E: L) U* K
}( T. Q8 C: | G7 b8 m* B+ \
catch(e)" X% v& [) D4 Y2 B! G ~4 _, b
{
5 }; o8 c- i( d( X if(debug)
, A! T( l8 N9 o {1 Y* o6 E! j, p5 @2 H- {0 U- ?4 Q* H
alert(e.message);& O! \* i) b- g
}: e# ~1 v* H2 I: ?! W
}
7 |: Q; K- b( D: Q }
- Z) u1 ^7 z" y' w9 G8 Z
% g( p" A, C6 S+ |& C}' q+ a" a# [# I) y6 W% I, l# H: v* f+ t
$ B& b0 u) n4 Tfunction getRGB(colorString)% _( t7 C0 J% l% }( U6 Z
{
8 @ H2 @5 G. U! B; w* A var RGB = new Array;
, \! H3 a1 ]! P" v var tempSting=colorString.substring(4,colorString.length-1);) y; e$ N. R3 @2 w9 B% }- g
var tempArray=tempSting.split(","); u+ l r8 Y' D
( T+ b+ @2 J& F" L5 }! J: `
RGB[0]=parseInt(tempArray[0]);( G5 g* p5 V) ^: m
RGB[1]=parseInt(tempArray[1]);5 Z. a5 E( ?' D. Q
RGB[2]=parseInt(tempArray[2]);7 F" h' w; j" ~6 T7 ~; B% w
u, K' j% Y1 X) F# G6 ^4 S
return RGB;
/ c5 Y" E a' d$ c6 U( a}
5 Z$ P4 V; j4 f- |) j y6 H0 Ufunction keys(evt) & d9 R7 b4 G$ U% d
{
& T6 _4 `5 r5 y# d% J if(evt.ctrlKey && evt.keyCode=="81") 7 N Q4 P5 x) Y: k, E/ z) }/ I
{ ' b* y0 A4 e+ M; `0 z! r
CleanHideObj.on(0,1);
" q* q: [ i6 g$ B alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 v( }6 p5 `7 f1 }# R0 X8 V$ q! u
$ q/ z, h# L% Z3 H" O }
) n% O0 ]9 `3 Y! p7 c+ g }
) D$ _9 ^# n" _$ G- @/ ~document.addEventListener('keydown', keys, false);
: h) K7 r3 A* f6 x$ BGM_registerMenuCommand ('Clean Hide',
+ E' y7 z5 m8 f n3 ?( ~function(e){
5 }" V+ U7 t; e) c2 d5 D8 M1 tCleanHideObj.on(0,1)+ {: g3 ?1 S+ x; ?; l' E+ }! b
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( e. V/ M O& @4 k$ o});* S# `( u/ C$ a
|
评分
-
查看全部评分
|