|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 x; S+ k" _9 u6 p& n
6 i# s& s+ j: p( P [5 u9 |4 g3 w火狐插件,用猴子
/ J! K% r9 a3 k* X1 G& z2 [ {9 O! p e
var debug=false; " P2 v' f+ B5 J9 N1 C& B
var CleanHideObj=new CleanHideClass(); ]: S/ B o+ C" f- ?0 l
3 O6 ~) J$ c" ^* x( q! sfunction CleanHideClass()
6 X& ]2 }9 E. H: S: j- L7 }{
4 l- x7 S2 m2 u) H$ D K" G ]8 \, S$ v. B U
this.on=function(id,bMZ)
5 a! y4 G# d; O) d0 n' t9 b/ _3 } {. \5 I! L" n! P) p# g5 Q
: {. N) c- W* j! I8 j& v8 R if(id == 0)( S. }/ b# {$ V2 A$ S5 a5 M
{
/ U5 |1 m3 R" c, t var page=/* document.getElementById("content").contentDocument */document;
$ T0 x% H: w5 D this.RemoveHide(page,"span");; | c( x/ W7 m. m1 M" j: p
this.RemoveHide(page,"font");; Q$ p" |- J* @6 Z: E+ ?
this.RemoveHide(page,"div");: t4 W2 _) j. c1 ~
this.RemoveHide(page,"p");
6 W5 u7 t/ S7 `6 s8 P. q! } % r9 P7 X" K1 j
}2 F' Q E l* @# F% v
' R+ l& l( K% ~( i/ A
}; B' i3 L6 ] c+ \
this.getobjstyle=function(node,prop)
; G8 x/ D) v; g) V& d$ `: q {
4 v% Y3 E! w% x7 ` try
1 G3 N; l4 V" e: E: Q {
9 P! H% y7 \$ _3 j. U3 a8 ] return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
) `2 X+ d: F' c- E1 l( _3 f7 t }, H% ?5 w5 R/ G% B1 P/ f% }
catch(e)0 b0 |" H. ?$ E3 W* d# d
{* }; n3 a% p2 g2 ~
if(debug). c# c3 g( n3 H5 R6 H% S
{/ I" B1 t+ @& Q! x) p! g. K- z
alert(e.message);
, I# V$ c( B( ?- j: s& b7 z* | }
' a) n9 p( N# ` / _5 t$ F' R2 @
return "200";
) T5 D" z! _% t7 `6 \/ H+ H2 C9 i }3 g1 N: V3 o: |( Y, q
}. M; y3 N3 L x& ^0 A- ?2 h6 V' Y
/ N2 i1 j& T( ^- ?% C3 J+ C
this.RemoveHide=function(page,objname)! l, V( H L: w7 p, @
{
! ^/ @" U0 m8 Z& o3 c- V try/ j: h9 U0 Z8 Z0 d
{( v, F5 A+ U" |8 h) V$ A
var minValue=15;
6 o3 f1 i9 R# \8 ]% t$ e- } var objs=page.getElementsByTagName(objname); ' Q$ _6 _+ }+ ]
# }, w v' P- s |; T6 p, |7 y* x
if(objs.length == 0)
. w5 t* j9 k& x4 v3 T; l {
4 O" x2 { w& g if(debug)
# w' }* M, t0 i. W7 o {
" N0 _. ~$ r) \! {+ O8 l; E; w+ c alert("no object found!:"+objname);$ t# p8 R8 W. b# I( q5 Y* W
}# Z6 x# M* n9 u8 @3 ^
}
) l7 G+ m$ x1 \9 t6 U else
' ^) l+ |1 ]3 w/ W+ \# \ {- m3 u$ |+ n# k* O/ R
0 g8 ^ S: B7 n! L6 r# ]- e
for(var i=objs.length-1;i>=0;i--) ! k* v; o6 ?5 k. L
{
1 \. j! Q+ m' }" J var node=objs.item(i);
2 J" V* h/ O4 p' f
! \1 K% o1 K/ |% R# E. _ ' A- S7 e; H5 D/ y! k
if(this.getobjstyle(node,"display") == "none" ||; T/ F; U* w, {
this.getobjstyle(node,"visibility") =="hidden" ||
8 {6 V8 v- b9 ?+ j) S# c parseInt(this.getobjstyle(node,"font-size")) == 0) " w- f4 Z( X; b( ]6 u
{
" n- ]; b' h' A D if(debug)% l; w! O! _% Q+ P; `4 I
{6 D; U, o9 L3 `, J1 ^
alert("remove invisiable!");5 d4 e7 t$ V/ Q- Q6 x+ _
}
t8 A j+ x: X, E$ V( a node.parentNode.removeChild(node);
: _+ t' h" A8 u \' T! G; L
, o: [7 C0 H2 c, B }
- ^1 _9 f, ~& m' [( t' ]- ^ else 3 w% p# q* @- k4 \/ \
{! x* Y3 K! s; E) V' \( g3 i$ Y* k/ x
if(node.parentNode)
2 ?5 ]( g4 u* ]/ r' p {- n, n, R, a; B7 l1 h( M: a
var orgNode=node;/ a" W/ q. R7 l. i
var orgColor=this.getobjstyle(orgNode,"color")
$ _% E! \5 X6 N8 O- B var orgRGB=getRGB(orgColor); ! p% l" K9 M1 Q2 u! ~8 N6 ~
8 G0 P5 Q/ E7 A6 d s
var parentNode=node.parentNode' b6 J; Z( N8 Q+ D1 I
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 ~! j; j! R- c% s
$ ?4 V& P! v- A+ ?! |( W2 Q z' C+ s var isLast=false;" q" p% h! M3 C# o2 n! B7 q. G
8 y8 l% A/ U7 F: x4 d/ ~- z$ l& r9 f while(parentBgColor == "transparent")
; l q# x9 @. l$ Y. J {! z3 B# ] q; i# S0 K4 b: K5 S
( A" J0 Q4 Z! A1 b: J& j% l- E
% w8 i* r; U5 }7 P3 u8 _8 z if(parentNode.parentNode == null), n1 t$ X1 h0 {/ `. c2 X h: M
{
2 H5 C: Y/ b# H! n% ` isLast=true;
6 ~: i, Y3 V$ `' Y break;3 D/ K) s: v& N; Y( v
}
2 s3 F9 e7 Z1 S5 [. u) a parentNode=parentNode.parentNode;
: P' b4 G+ C, Y' S/ Y/ J parentBgColor=this.getobjstyle(parentNode,"background-color");6 \( H1 d. t5 g/ H) A5 I
7 n/ T9 \7 D6 l1 } if(parentBgColor != "transparent") ) V2 x H5 ]; e# h6 P" P5 r
{
4 v2 q' D' X& q break;. h# m5 k% V( l3 c( ^! Z6 A0 q6 L
}
* `4 e, l8 n! m0 _6 ]! u2 D }
4 B- P2 K0 ]; { if(isLast) * o7 r! Z% d9 T
{
$ q$ c+ R g: K b if(debug)
, l7 L' _& r' @" L2 q, T { @3 C$ |4 j8 M; } z/ o
alert("last!!");: x+ }- G- y$ T+ N/ L# v
}
# y: Y# o6 s! P+ n9 _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' f. W9 G& a5 }. V( ]7 K
{
- R, U( L4 |) g; _/ v9 b orgNode.parentNode.removeChild(orgNode);
7 T ~3 r) E5 w( m }
; }( g6 r6 w0 n! [6 K, o [$ f% E$ X0 M }! n* Q8 y- h" e9 T0 k1 t
else# \ X o8 T( O" q1 c% `
{
! D0 ?. h5 o8 t2 w) e, P if(debug)$ x+ a7 o& A! x7 R
{+ P+ {7 k. r2 @5 ^/ ]5 K
alert("compare color and parent bgcolor!");
, ^- F. U2 t$ R0 \8 w% t }$ ^( O; U- V" r
parentBgRGB=getRGB(parentBgColor);
' L* x; y1 {; l" @, y' c& w/ P if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% F' @5 D) X& d. z) {
{
5 v5 V7 M: T$ `8 S; s orgNode.parentNode.removeChild(orgNode); 0 G8 m( }) Y4 z/ {! y4 F
}4 K* c, @; }. v" \4 w% N7 u
}' `' i% @" c5 W1 i% k
}/ ?, Q3 `/ H( l( r- B: q% \/ s0 J
}
1 E- [ w0 a/ ?3 u }4 D9 N* T7 w! p. I+ q6 Q7 o x
}
$ h3 G/ g/ Q% n4 L3 a7 s
7 c. y* y7 g, y7 x1 M3 n' b' \ , l- z' ?! B0 g3 i
var itemFrames = page.getElementsByTagName("frame");
8 J# m; l4 x+ i: {! t var itemiFrames = page.getElementsByTagName("iframe");* J+ [; N1 K! e/ y
+ @! h2 x$ D9 H5 h |- p
var frame, iframe;& U! W. G, b: B5 Q0 ~8 n7 J+ p
if (itemFrames.length > 0); z: ]1 b' K h1 b- ], ~/ ?. O
{- {' ?" K- b8 H' i+ h" X, t
for (var i = 0 ; i< itemFrames.length ; i++) # G0 g7 _( X- O: }! f2 E( a
{
5 e5 Y- H4 H3 P1 | frame = itemFrames.contentDocument;
" t( a) ~, m) a this.RemoveHide(frame,objname); 3 P! Z+ t* v5 n1 N( O% J0 R7 K
}
" ]# f, z' j* n4 ]4 n }
9 g% B# r5 B+ z7 T' G if (itemiFrames.length > 0)
" _4 h# E: U" h6 b% P3 Q- M: J {# O- v/ T5 u- ^4 q1 u
for (var i = 0 ; i < itemiFrames.length ; i++)
$ G# b" D! z4 \9 H& P1 f {
1 k) @# a$ X; {$ j iframe = itemiFrames.contentDocument;
, n% N) b- R$ S4 }+ L6 j this.RemoveHide(iframe,objname); ( E6 n D. Y$ |2 z2 Q9 L, T. A9 _
}
% S4 D" O/ B: _9 m( [4 p |1 @3 N }& I8 A+ S$ y5 m( }4 F/ m# G- ^
}
$ y/ a9 G) P- Y- W catch(e)
& O, B5 V8 B' s4 M2 r {2 v N1 w7 S2 e+ z9 E: s
if(debug)
, Q6 u" X P, B! ] {
$ s6 y7 z. r# t: `# c9 o6 j9 L# j# K alert(e.message);9 e, \' z, v$ U* _
}* B+ r, V( X. d2 M
}
& \ I( L* c* |# \! \+ X }4 A( t% {9 k- m( f+ Z
* \4 u0 N# n8 ~& k; O8 N: `# P}0 i0 t9 W! t+ J4 R. N1 ]
4 ~/ I, b# Z$ E8 N7 z8 _
function getRGB(colorString)9 p! q. t. Q! x5 g3 i* n0 [9 U, L
{# s" d' i! X/ O3 C2 Z7 z% m& g9 O
var RGB = new Array;
- S5 C9 @* x* J; X var tempSting=colorString.substring(4,colorString.length-1);' U$ |( K2 L* C( q! z; e% w" U! Y
var tempArray=tempSting.split(",");$ G( ~9 ]& V! z7 [
! k' L k: o! j3 }
RGB[0]=parseInt(tempArray[0]);% j: j$ K6 p- Z! y. b+ T
RGB[1]=parseInt(tempArray[1]); |, Y( M1 S$ g
RGB[2]=parseInt(tempArray[2]);
3 K0 S' ~+ K" f9 c" o
% Z, }0 j8 g X return RGB;& w9 d4 V: N5 a0 s
}0 B; m* ^) _5 i) p4 l( w
function keys(evt) - a3 u9 t+ [/ Y3 R' \! _
{
4 ?2 D/ z9 Z# L" ` if(evt.ctrlKey && evt.keyCode=="81") $ E$ [ h; k. Z3 w! Q. u
{
5 E% D. q' d" S+ [& \* x( s CleanHideObj.on(0,1);
8 c! n% L% M6 Y, j% R/ R5 N alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 ?/ t9 F! q# X& O- T9 _' W0 A 9 i P; j9 `7 W, d) E
} , v) V# `* @. F
} + K* p. h: w9 |9 U8 }' m d% I5 D7 L/ D
document.addEventListener('keydown', keys, false);
- X5 M5 F' ^2 I. I; oGM_registerMenuCommand ('Clean Hide',
, A3 k: J3 z: z. R; Pfunction(e){
8 o$ Z, Z! a% v YCleanHideObj.on(0,1)( @7 u s& B" C6 a, j
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 {- W P5 f) B6 B" j9 {0 i: P
});
/ V8 a, i `# Z4 v } |
评分
-
查看全部评分
|