|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' q" a1 Y: n4 F3 x
$ V5 I8 v' Y' \; S# q7 h火狐插件,用猴子' T, Y8 ^: T( n& b
! _* v; B9 Q0 _8 e1 |
var debug=false;
! e" l# ]0 O1 t) U3 }- Y5 Hvar CleanHideObj=new CleanHideClass();
. I4 I$ }( Y$ @& s, N' g9 r) T4 Z1 W5 i; a. X8 g
function CleanHideClass()
5 [3 g e- N& H& t* Z{
' z ?' u, I7 u" a' Z7 [4 S1 D2 v ; h1 d. B- ? X' w0 n$ V
this.on=function(id,bMZ); Y! r4 p' n, ]5 F: y' a5 z E& L
{! h- U4 s: _9 x
9 q# u7 S8 y3 i- `+ `/ ?* l0 f
if(id == 0)/ C4 E' H% L" W, c% \, D9 e1 F' U
{0 W: w. w, N0 E q6 R5 ^* {
var page=/* document.getElementById("content").contentDocument */document; 2 D$ M. E6 A2 l# Y( `
this.RemoveHide(page,"span");: ^6 u1 q1 M/ a9 G. |9 `
this.RemoveHide(page,"font");( h4 R | t1 C" @2 c
this.RemoveHide(page,"div");/ f3 p" l) }2 d6 K4 K
this.RemoveHide(page,"p");
6 m1 y0 W" }. ]( ~9 m3 S- J % k3 z- `% `5 U1 M
}/ w3 h/ W! l$ H6 @6 {, G* Y4 O4 U
1 b2 E' E) G$ D2 [* L$ ]% X1 T
}+ L R/ _6 K, C
this.getobjstyle=function(node,prop)
( v- b" b. C" L. ~/ H {: s1 b7 n9 D2 [! G2 p
try& ?7 r/ `! v% ], f: W6 |' y& L" u
{
1 Q! ]4 q- T" C) B return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
! b- k& q n: M9 U* G! ^. ? }/ {$ U* a- b% X5 f+ ?
catch(e)6 {' I& I$ A4 e6 U% Y! b. V! U) n7 i
{
. O& r0 m, [ [$ [3 O if(debug); O9 f( B% s: X4 B& N& y) \* X
{
# Z8 ?# x& ^! u2 h$ M* g. x alert(e.message);
0 J' P+ G, k( |; q' C! e }
8 `0 Z. I% D$ c9 X( Z/ C
4 M, i% \' Y G0 g. w( @9 D. S) o return "200";/ _" {, J9 m# k* d2 V
}+ C' \0 C; q& O g
}
2 I! w/ U! f% \) G" R* v8 G' v
( }5 K! P6 {7 i; C# h3 B* d% [ this.RemoveHide=function(page,objname)
% h: X& L7 }6 V+ J3 @) \) A; T% f {: l4 v# }0 Z' | L$ y
try* }$ Y9 \8 O/ q, |& e2 m4 m
{$ e* K" @# D3 J
var minValue=15;
0 a3 m' C+ D( x: Q6 v8 d9 M; @6 T& v var objs=page.getElementsByTagName(objname);
- g1 z3 f: d1 J: N R) r: [
5 ~) n8 X4 [* K" I. I if(objs.length == 0)
% a ]' Z7 u; X% g& C( p {
- W: g+ c* s$ h4 k' x# b# m if(debug)
- v, r& s0 h. \" e* {0 E. D. F; p {* T+ s7 ]- p: `1 z
alert("no object found!:"+objname);
0 U3 l+ w2 W7 G$ r( F6 d$ [ }
8 @1 e7 T/ O$ y* m+ e }
3 f0 B& v, ]$ T7 e else
) l9 G) Z2 D0 C$ a3 G' i5 q/ X {
4 v8 ~5 k( f' U+ C) d% ] " v6 H* j" z, d$ Y2 x& M; L$ p9 W
for(var i=objs.length-1;i>=0;i--) " y# m! f0 G- n4 R ^' q) Y; }4 U
{! G: c% L4 v) U! y- q$ u3 [
var node=objs.item(i); 6 ]" M$ q" I) \& Q$ K
7 |- u5 x7 f$ f+ x* g H6 p% a
/ } E0 }/ _8 A: S if(this.getobjstyle(node,"display") == "none" ||# F) y: O8 L; h; F5 y
this.getobjstyle(node,"visibility") =="hidden" ||' I# b$ g) @2 F6 `
parseInt(this.getobjstyle(node,"font-size")) == 0)
' Z3 {! C( J3 D {
+ D! w! w; @& g2 k- ^' [ if(debug)+ L9 a$ g2 J# d# I( K0 E
{
0 h& F; E" g. ~ alert("remove invisiable!");4 G9 `+ _7 e: f+ M
}0 `: ~+ r0 A+ h; Y. z' X6 G
node.parentNode.removeChild(node);
* Y- V' x! R5 w
* T) P2 Y4 u' k( x$ r1 s) S }* M7 O) H" R6 Q# q. d7 j
else
. J6 a0 D, g ]9 S4 X$ a" S* o2 u {
7 ~, d9 }; ^4 B5 A if(node.parentNode) $ p, i: E- a. a! o' K! x9 C! Y
{
& @4 V5 p& P+ s3 t var orgNode=node;
B' K* C6 {- C, Z5 M6 \ var orgColor=this.getobjstyle(orgNode,"color"): o( `4 A. X5 y# v: f+ t
var orgRGB=getRGB(orgColor); 4 s! ]$ k& C8 l
, i9 T& h7 X7 a3 }! g( m
var parentNode=node.parentNode1 N& r# V( B7 s3 v# {9 |9 S: L2 x
var parentBgColor=this.getobjstyle(parentNode,"background-color");
) A9 P4 u& C5 u- B8 Q$ P 9 [# |3 L. i' D4 u1 h0 q7 X
var isLast=false;
/ v8 C9 b# U; e3 M
0 t6 U, `, S; ]9 l while(parentBgColor == "transparent") 6 p2 s6 {' E; ^1 E% w$ Y+ A7 F
{( ?% w3 o9 ^; \: b
" ^' `+ a7 P1 i2 S$ P4 G7 o ) _2 @/ g5 A7 |
if(parentNode.parentNode == null)2 t. u$ A+ a0 a$ _4 G# m( n
{6 |! _; v: a* L- y" _7 ~2 j; q& t
isLast=true;4 q7 W# e+ H6 i
break;
, S* _. A. W0 G' L& g) N/ j }4 m8 |# K8 |: c0 e* z" B
parentNode=parentNode.parentNode;
; S, u5 N. z. M$ _* y# x" y parentBgColor=this.getobjstyle(parentNode,"background-color");
/ ?- Z! |0 c7 K6 z I$ [ ^1 G( \3 B4 L4 O6 C6 Y9 y: V I
if(parentBgColor != "transparent")
/ y) ?. l$ b( P+ r! P5 i- q {2 W* @; B- B* k" H- a
break;0 m! l$ u- F" k- s" J
}
* s, ] ~( T) m5 i! K i+ A, | }
/ s5 H6 _! p) O if(isLast) - n# r: C4 ?: L4 [6 m% m: _
{8 J( Y% k- B- n2 F: T! N
if(debug)
3 j6 a& A- g* ^9 Y) Z- D3 M {
- t9 n. O( E2 @$ r% W alert("last!!");
7 W- p8 Y2 i+ O+ i0 M }: H9 ~4 E& K7 j+ S
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! E( y' e; ^$ ^; V! b f k4 }% d
{
8 `) j$ h6 U3 J# ^2 K orgNode.parentNode.removeChild(orgNode);
& [( U7 o9 s- D$ C }+ ]- U) \$ H% T
}
0 Y' Q3 E4 Z# M4 C$ h& E! o: ^ else2 ^4 w! F/ v7 A6 C9 M5 ?
{- E/ A5 n$ w: D2 `1 O# I2 k6 @" O
if(debug)* ^5 M7 d5 g" v% o: ?) _% d& j. j
{ U8 V7 @# z/ n, A# R7 K5 M9 I
alert("compare color and parent bgcolor!");
1 P0 ]% y: L7 H- c2 W }
4 h3 v8 u9 ]% L3 W; V parentBgRGB=getRGB(parentBgColor);
9 J9 ^( q$ ~2 [8 ^ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
2 G( E$ ?, f, G$ ^& z1 C {
) _3 o% k$ u% M orgNode.parentNode.removeChild(orgNode); - ~% E. J# }8 X# S
}( A- l1 `6 q6 |( t- t( \# A4 Y- ^
}# |" D$ r( E7 O* g% o2 r* I) P
}0 `& O( g' r ?1 F, s v
}
6 l+ o( e% }3 m* d7 h( v }
* P$ `6 Q. h/ S }
" J8 S6 {! ~1 m( E7 v % X# G. x- w- t4 h
7 ^) Z' m* g4 {0 q+ |$ g, X2 k3 w var itemFrames = page.getElementsByTagName("frame");+ z8 f, a I0 x8 G& q- u
var itemiFrames = page.getElementsByTagName("iframe");( T* J! b. O; O' C0 R! q7 J7 {- D6 h
' e8 Y5 F6 ^, V var frame, iframe;
! B& ?, e. U( q S% F if (itemFrames.length > 0); b- s& T; L* h% [* n4 @
{
- r* X6 r0 b% a! f, s" k for (var i = 0 ; i< itemFrames.length ; i++)
$ X9 K+ y# m! X3 J' S1 w# g {
% d+ O, K7 c; \7 J: m$ V, u/ S frame = itemFrames.contentDocument;7 l8 [8 n! Z0 D1 p1 t( ]$ \" [4 l
this.RemoveHide(frame,objname);
6 N% I, s; c d* d, d }- n* Q4 D3 {3 ]4 x( t o
}
7 G6 X" U3 @6 s, e% e if (itemiFrames.length > 0)
/ ]4 J! T" S: o9 Q: u {
, R9 o5 G" p& |5 ^ for (var i = 0 ; i < itemiFrames.length ; i++)
/ b/ F e9 D' G' K1 M0 D% H {
# a( R5 v$ {' x iframe = itemiFrames.contentDocument;# D \# a/ i" p4 ~" u( Y
this.RemoveHide(iframe,objname);
9 }4 X! f$ P1 _& B0 k9 n }- }. a4 `3 H6 |- p% p3 w) g3 h
}" R" s/ B3 m5 `# {& k, L& t0 ~# ~
}
/ v% t. |4 }; ^& H$ A) w9 s catch(e)8 f+ M" `$ F5 g
{
9 f" v7 J6 M$ b' _0 V' k M if(debug)
6 x# U. }% m6 c$ c) h Z {' j- u% t5 C& w; k$ B8 [
alert(e.message);, v( |. L/ R/ D, B) | f5 j
}
- U5 b5 X% e d' j } L* E m9 t% ?2 l, @- K% g8 G
}
# O: w' C2 _ }/ ^: C ( _# d8 `5 t. X. v$ B2 e9 O
}, B. P0 P* P& m0 M
1 n, F+ j' \# r7 Jfunction getRGB(colorString)! @! X$ d/ m, z
{
5 i, E/ ~5 M6 ~8 ]0 z# i var RGB = new Array;
7 w5 v; D3 @9 E2 u' U8 Y3 U. N var tempSting=colorString.substring(4,colorString.length-1);
% z5 k$ t8 j7 R: B7 ^ var tempArray=tempSting.split(",");
6 Y- ?# B' N7 x) S- W% ]% p% }3 U# N, V6 U Q+ o$ o: n
RGB[0]=parseInt(tempArray[0]);$ i% _+ ~; v2 l# s* s
RGB[1]=parseInt(tempArray[1]);
+ }) p2 x3 |4 ?! S RGB[2]=parseInt(tempArray[2]);. j# u3 U4 x- E; i+ }4 {
: O: C' t( ?. N- p/ X9 x return RGB;3 l9 G6 S. T3 F, {/ b
}
0 @0 K: E" }+ ?4 h: y; Efunction keys(evt) * D5 d0 i5 u# \
{ " O3 L% D" [) H( d* e
if(evt.ctrlKey && evt.keyCode=="81")
& }) M4 P3 c' F' t0 | { ' z( F$ j6 ~* ^. {$ I
CleanHideObj.on(0,1);
9 R) N+ [- H3 T# a% ]7 \' J alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; a8 W7 w7 d# |/ S! m
4 P& z! C9 s6 d+ D! K: T5 R6 l
} $ h3 B' P# h: ~7 |% i3 @+ a8 M
}
7 A q7 P& C& [9 d0 H! rdocument.addEventListener('keydown', keys, false);
D5 v+ [. a7 X' N& d* YGM_registerMenuCommand ('Clean Hide', q- i8 h2 c' N
function(e){
: l" v/ @& e9 b3 u# ZCleanHideObj.on(0,1)& d0 g! q# l7 U* m+ F
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% i+ c9 V' m( o) Y});
+ M" T) \' Y+ f# S" E4 f# L |
评分
-
查看全部评分
|