|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ l5 g7 i+ K, A Z7 }. H% |: p0 h: R' D2 Q
火狐插件,用猴子6 Z& Y6 D$ X. \8 D' u/ |5 P
1 g5 h& C7 U: S# Q5 ^
var debug=false;
7 j E( s0 C3 B- tvar CleanHideObj=new CleanHideClass();1 Y" F" E$ k/ `6 k
. @& G7 ]; H) i6 A' \" v: H; ?5 Lfunction CleanHideClass() ) B% O( ]) Z! y
{ ! R& Z& q; ]+ q" u; [: [
% F }2 W1 s, M! ~6 Y: }
this.on=function(id,bMZ); b, g# A! ` f/ h# g) }; X
{! v! J$ _6 K4 V5 C
" V6 _7 a) ^. ^ if(id == 0)
" X: h! A, t5 ~" F* D {
* m6 |2 p5 K4 q/ O var page=/* document.getElementById("content").contentDocument */document;
6 P; }3 D1 F0 B: A: c) Z this.RemoveHide(page,"span");
* H; [ J4 x( E+ x4 ~ this.RemoveHide(page,"font");
9 k) M0 N6 ~' U# [* C0 g+ G this.RemoveHide(page,"div");/ Z* R- L+ s3 J; s- u
this.RemoveHide(page,"p");
3 _5 _$ y) F8 C% F3 o) \
1 z' j% I" G7 i) b V9 k }
* [! [9 h1 X- x/ O0 \1 S( { 9 h( B5 v2 H$ W# C/ b, l w8 K
}
; p5 g5 h+ `+ n3 w' g' ~ this.getobjstyle=function(node,prop)
& a4 D1 X3 Y' W$ _' A1 S x0 Q. g {
$ ~* k* |- p) b& o/ P/ z/ R try
# B( v* y, s; G/ n( t5 | {
. r0 k4 k' J/ J! O$ V return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" `4 n( }4 r; G. ^7 M$ a' f }
3 l/ D8 A+ t- {9 Z1 w$ q3 A7 r catch(e)
8 x8 ?/ W) h- z/ E' X8 S {
+ ?/ n7 E& H, F if(debug)$ b7 \5 R3 S3 U- \ j+ E: W9 p9 I
{& M! `: N/ ?. Y1 W6 E# M* Z
alert(e.message);* S/ e* @' b1 r: g! s% W0 a
}0 A, i y) s1 a2 ~1 i9 u4 N* f
5 O" n2 ?% V. q! S3 J( p return "200";
7 y; S3 K! m: N! u9 |7 Z. E }
2 g: x) n4 G* H }
+ g' b+ @* S7 G" a, m 4 I5 l- L2 A' d! ? K
this.RemoveHide=function(page,objname)& k& f/ d X: Q% @
{
8 c* ~5 y9 g: \/ ]+ O6 {4 C$ C3 d! ~ h try
8 I$ z' V8 q+ M+ y* X0 H {% i" Q3 @; ]& y3 F: `9 j8 [
var minValue=15;
; `8 D ]5 t, h. p var objs=page.getElementsByTagName(objname);
5 W j2 z; ]3 f9 j
/ }6 D3 F( j3 {" L2 x$ V& o: |; W if(objs.length == 0) ( I* Q5 ] y2 ?6 T3 {9 ?1 X
{; z( U2 l$ k5 N/ d6 L
if(debug)
+ E2 j7 Q* R* T0 M {
4 O2 s4 ?% S) f* H3 i5 \1 `: }. { alert("no object found!:"+objname);/ E" }: B* N: [* F% c1 L+ z( K, [
}
% Z, s' P$ V. M" H4 M. n$ C }
( c. |- R. H. q0 x' b else
) F) O0 m! x0 A {
* W$ l7 t* `' v4 [$ x: P
; p; s6 v% K0 P* k ` for(var i=objs.length-1;i>=0;i--) 9 |5 N% f) [1 `# x, {
{9 C) s' ~. y3 J4 z6 m
var node=objs.item(i);
* G4 E; |9 Z# O8 b+ w ( R! u1 R3 V! W
1 Q' B+ S i) C% d2 P8 Z if(this.getobjstyle(node,"display") == "none" ||( j# r% C' L" j: n% c
this.getobjstyle(node,"visibility") =="hidden" ||
/ Z+ y ] \" X- o parseInt(this.getobjstyle(node,"font-size")) == 0)
8 I* U# O% v7 Y- N {9 O# s) A4 W. q0 l: w
if(debug)3 Z. X: S) b; U* i) z5 g
{
* v; C/ E! s* x1 l. s$ | alert("remove invisiable!");
" F3 g+ U( e" e; Q; B }
8 I0 f7 b& c& X( J. B node.parentNode.removeChild(node);
4 L' v/ R$ j, v! y1 }+ D6 i $ j& d2 y4 g& F# j7 k4 J
}/ m3 g# g' y( e& J; ~7 A
else 0 c9 |& Y& W, e3 {
{& u. ?, v, W; b1 x# ~( u
if(node.parentNode) L9 O. t% o# U# ^" i
{
S3 L4 Z" X( I5 J, @) l$ X var orgNode=node;' z! F3 P1 c m9 r3 e
var orgColor=this.getobjstyle(orgNode,"color")- G7 p2 A* t% I4 B. w
var orgRGB=getRGB(orgColor); . s5 q: b$ c! ^' p7 A# O
( S$ T, J. y) Z6 ]1 J" T; u2 v var parentNode=node.parentNode) k8 S" K( J$ j$ v6 u( x+ k Z w
var parentBgColor=this.getobjstyle(parentNode,"background-color");; b. i& s" o. E+ t0 N$ m
; n6 k4 B2 `. ^ var isLast=false;0 C' l4 V/ f8 b' |3 j3 q
! u Y: X; A' o( c" N$ p5 I' t
while(parentBgColor == "transparent")
8 B" w% B; Z" ] {; W) p6 X, v4 @# N
6 f- D. {8 W0 I) T
9 b: F# r* q6 J% P4 T/ F# a9 D( V if(parentNode.parentNode == null)! ?" ^0 a" J7 T" ?
{
& @: w# n/ x1 R isLast=true;
6 D; f- H# r4 P* F5 \/ W break;
7 R/ T5 h9 ~ x9 S( y! Z$ v8 x( ` }
' q. M0 v3 r, q/ V parentNode=parentNode.parentNode;2 m! y+ x% Q7 \/ M9 E
parentBgColor=this.getobjstyle(parentNode,"background-color");5 m( r; V) u9 @1 K, Y- |
3 {8 T) |. d p+ u3 \# o
if(parentBgColor != "transparent") R: ]5 `% Q6 p1 P
{
% z7 d% g. e, V6 I) c- V- U break;
( w' L& l5 v! N }% W: J3 U" i6 W- i* }4 h/ f
}
; G- w+ s9 z5 P7 P4 ^9 I2 Q" D if(isLast)
/ @) o/ _ R- v% m4 ?; M3 N {
5 U& O* i9 k% j" o# Z/ D9 a% n if(debug)9 |+ ^& ?0 ]6 F5 g0 D* c( ~
{
2 F1 v( E* k% m8 ]7 X alert("last!!");
% P0 E+ Q# _7 x5 G7 g7 ]# d }# F6 F) n- m1 u) y$ N" Z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ p ` m) j# {; V( W' E {
4 b( N' o0 G; u. T. w orgNode.parentNode.removeChild(orgNode); 0 S4 q4 T- g9 o- a( J/ P+ |* u; ?
}+ u7 K5 f9 F, j. f
}, B( Q `; C, c j. {) H2 k/ d- V
else
, K, J1 B: e$ y. W {( A& b& Q9 n" V* ^
if(debug)) w9 j" A- \% t. P) S2 G8 \0 k
{+ Z4 L1 m2 g r! t
alert("compare color and parent bgcolor!");
- Q( Y' c3 @7 p9 a }
# {* z1 P/ Q. B, t parentBgRGB=getRGB(parentBgColor);
. n U1 | k% {9 k if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* [6 }3 B: ]+ T. P t* u6 ] {3 E, T2 l# z3 ^. _1 R0 c
orgNode.parentNode.removeChild(orgNode); 6 c$ D- t2 z9 |. R! E0 d
}. z! R* J# {) P6 C$ ~, [
}+ q; F# T( I7 i1 B( }: V
}
" m6 \* F! U3 O/ H5 ~* e }
+ ? c" ~' s# G }
, H. Z9 g6 J# l* x3 X9 ?5 k }0 y7 b% D, B8 Q3 v7 k. N9 i3 u( Y
/ r! @! f8 s$ [& C
% T! B( t7 z z, \8 C
var itemFrames = page.getElementsByTagName("frame");
9 H5 W$ \- n3 s/ i1 o* b9 v var itemiFrames = page.getElementsByTagName("iframe");- A# i; V9 h/ ?- }
2 @- K' ~, ?- v* ^2 k var frame, iframe;7 n2 m' v8 n: p3 I* i, U
if (itemFrames.length > 0)
& W' [4 ~4 X f. ?. m" Y$ F* @ {; V" g7 q- o9 B& ?3 o
for (var i = 0 ; i< itemFrames.length ; i++) c% Y) F$ R( s+ j% S" K
{2 W( \( ~ h% Z2 M
frame = itemFrames.contentDocument;+ O5 c g- T/ X3 }+ V9 H
this.RemoveHide(frame,objname);
8 J3 b. L- l7 O3 R8 G }5 T. M9 w8 ?5 p, o* A4 m9 @$ y
}) G; i/ A* f& b- p0 M
if (itemiFrames.length > 0)& [$ d6 S- L+ P
{& ]0 p5 ?' B& l4 R3 \% |2 h. s
for (var i = 0 ; i < itemiFrames.length ; i++)
4 V5 z3 N& Q" ^/ L {/ ~) T# L/ g# Y4 }: c+ B
iframe = itemiFrames.contentDocument;' q- r, G4 c3 S' e3 O4 L w
this.RemoveHide(iframe,objname); ; N' ]5 T2 a& g- O
}
5 S8 l/ a& i1 |. ]. q1 O1 Q4 T4 K }
1 e8 T( f0 }1 C& Y( U6 R } q# ^' z1 I' V8 H& N0 K
catch(e)3 v! _9 g9 @8 ^* N' l& n N1 V
{9 f% S( o- ~; S* S( N# C; u9 u
if(debug)
" O0 b! Y- ^+ q" x: T3 {1 Q {
2 t. O6 A' v) ~. ~ alert(e.message);6 P7 U) M X% U% m2 u7 l5 R4 w
}
7 C1 Y- ~9 f3 O" K& s4 y- ~ }: D" v5 u4 d$ N i% S% h$ C
}
5 \6 G, B X5 r8 N: o
2 x; q; O i8 a# m3 b, A H}( \9 @4 C/ F8 p8 z7 X
! z0 c. T) ^1 o: @& ?) w* Vfunction getRGB(colorString)
) p+ W" a3 S, Q& E& R# h0 d{
/ o: _8 M7 h/ {# _ var RGB = new Array;
1 q6 `' j0 i K ]: U2 t1 y var tempSting=colorString.substring(4,colorString.length-1);
5 L0 K3 j+ ^. W2 w( G- ?/ ? var tempArray=tempSting.split(",");
1 C. M- i& d6 ~3 \
5 _# y M8 Y, }2 {# X RGB[0]=parseInt(tempArray[0]);
' S R* k3 s2 V% B RGB[1]=parseInt(tempArray[1]);) @3 Q0 @; Z; ^" l9 z
RGB[2]=parseInt(tempArray[2]);# \* G& g. k) I+ o+ w2 d
5 B6 d" ?& ^, S; b8 N9 Y' l return RGB;% x2 j2 g# U+ i' _; S
}
- c) R$ a% R" P# bfunction keys(evt) $ L/ x! _7 X/ x* r" X
{
# M8 s5 w9 j2 c if(evt.ctrlKey && evt.keyCode=="81") 1 h9 t- Z: h* s
{
" \+ X/ [8 j: L1 ^. b/ L CleanHideObj.on(0,1);2 f/ e% g6 u$ g* i& `3 z, U5 E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 T7 ]$ e) N/ L5 P% S. o/ L
: C8 F0 m# T! |% s9 Q/ A* y. m2 c- u& P }
8 t4 q# t$ | U- P# B; s! H } 3 t# p8 q2 C% l9 S5 L8 c4 E5 [
document.addEventListener('keydown', keys, false);
, D1 c; l' C4 f. WGM_registerMenuCommand ('Clean Hide',
; ~* Z2 v$ n8 sfunction(e){0 I: ?6 K, U" k8 h) M
CleanHideObj.on(0,1)7 y# j5 |( n' C. P: h
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 T: b8 P* H( _* V# q});
. k+ ~: L- y3 Y6 K |
评分
-
查看全部评分
|