|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: s/ W; R: h8 o
; i; h' m F9 y# G$ [/ c% u% t火狐插件,用猴子( }0 Z" T E( [4 e7 \
2 M6 z2 m) w! i3 o0 c E' Z$ s! f
var debug=false; 9 M* X a; E$ a! p" \
var CleanHideObj=new CleanHideClass();+ `7 r6 w- f9 E* H5 {/ T
1 k( P/ x8 i }& efunction CleanHideClass()
7 n! g% h$ i4 s7 q8 x{ " i; R1 V; s5 @ h; [, \0 I9 B1 o
" q* |9 C. m# r
this.on=function(id,bMZ)( o, o# v3 f. f R
{
" _, i$ k! F8 D1 ^0 Q" r 5 ]) ]. d: i, ~6 T
if(id == 0)
) K, n, U; ]: g T; U {
1 q2 r$ V( ?4 _4 u ^* b. s/ s var page=/* document.getElementById("content").contentDocument */document; 9 D' O0 E5 Y, \) V) `1 c2 h$ `
this.RemoveHide(page,"span");
+ |* k$ V; l$ _8 ] this.RemoveHide(page,"font");
& U& @% L6 j. t; |$ S+ w this.RemoveHide(page,"div");
) x/ @. Y7 s1 y6 E+ Q5 i this.RemoveHide(page,"p");
0 r. C, y4 J2 d+ @7 n! O
& w R0 r: ^- M3 o$ k; u, K+ f }5 M' c" o1 _$ U9 R9 [
3 J! D4 Y* a7 h7 ~; @
}: s& m" A# I! ?' ?
this.getobjstyle=function(node,prop)
; o3 U8 @7 [0 _ {; f. s2 x9 s" C" K) b
try' W% Q: `# ]/ w
{8 z! u9 T$ o7 W; X$ U
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, y' Q0 k/ k; B9 n' g6 x1 y4 j
}; t% f: E3 o* [/ p, }* h. _5 i, C7 n% D
catch(e)
3 I1 \! n9 x2 V. @ {
; q* `: I: v+ J if(debug)- l% L: L- F+ o7 b! o
{
4 G) a6 \9 B: G/ g: K2 V alert(e.message);" w+ V. @( X! x9 b# i
}+ c- ~- }- b/ g a) m3 W
6 G7 Y$ }+ B+ @9 m
return "200"; ]! H( z& v" ?9 L8 h$ O
}7 @6 D( u. F& i+ G
}
. d0 [. w {3 | # d% V$ E( j) L$ m$ Q
this.RemoveHide=function(page,objname)
# w. H4 L; d0 J( `- r {- A& Q. P5 o: b/ k9 t
try7 p& W9 y0 h! z8 z* o% j( i0 Z& H
{8 f: @; i: ? ?
var minValue=15;
( m( c' ?% y9 X: _/ E var objs=page.getElementsByTagName(objname); - j9 y2 M: N- t2 \2 s# c. z$ Z
/ w! @( L) Z" i C) w. p4 I
if(objs.length == 0) & D6 R# E6 l' A* v
{
/ [$ S) C X+ O if(debug)
1 N9 s9 J" J' E' F5 m. y$ U { S" o4 B3 O7 V) q1 [6 }2 q
alert("no object found!:"+objname);! T" E7 Y) T0 f, f, F- R
}% d6 `4 q- d# w' S1 h" H, k+ S5 b
}( s4 j- `) [7 ^( ?- I
else: N% _! o( r, k' @3 F0 X
{6 ?8 U: D. S) K
* y, v9 M" A. P4 P) l! u
for(var i=objs.length-1;i>=0;i--)
( ]* x* H r- |+ ^8 }1 w; t {8 ]9 D; G; f' P4 f8 [2 y
var node=objs.item(i); 6 K" ~3 G# t' `
" S+ F6 R/ w/ X8 l1 ]$ h! \
& z1 z/ |5 S, g' p& E" c if(this.getobjstyle(node,"display") == "none" ||
# B) ]/ _0 u0 r this.getobjstyle(node,"visibility") =="hidden" ||+ A5 Y k% J/ I* d/ i- A( c
parseInt(this.getobjstyle(node,"font-size")) == 0) + `8 Z5 M1 i) n" i
{
. a, ~/ c- V8 [1 e* C( Y# n' { if(debug)
8 h$ a* r& v- l# M {
# h5 z- j: I" p alert("remove invisiable!");3 x: `# I9 {* H
}% s2 Y+ P0 f/ K' E) {
node.parentNode.removeChild(node);) q, w9 P3 x8 a3 _' M
# @8 ` I3 W5 m, N }
( |5 D2 c$ L' ~5 Y! U else
6 ~' n# T; D. O% @+ w {- u5 e" Q0 C% a# l v
if(node.parentNode)
: p" g3 H6 ]& n. p7 C5 R# k {( b" ^ @! d; z6 {! o# {- x1 O, v# K3 \
var orgNode=node;
7 r' k9 I, n7 R H var orgColor=this.getobjstyle(orgNode,"color")- m' Y8 D9 q- `, \7 W9 R
var orgRGB=getRGB(orgColor);
( d; z% ~$ w7 m5 x8 ~3 p
$ G# b" I4 h6 f& G var parentNode=node.parentNode) \* t8 V/ D6 g+ H
var parentBgColor=this.getobjstyle(parentNode,"background-color");8 J8 S6 v- E' y& h. `
0 l% O2 e1 Y& g. s! q var isLast=false;4 T2 W/ X0 A) }3 I( u# D' u" h8 U
5 {. t8 n" [2 @/ Z# J, t2 x3 Y
while(parentBgColor == "transparent")
! S7 _. ^& U# K" _/ Q {4 b$ S5 ]1 P4 ~) A; W) X" @ E
' B H# x+ l% v1 D0 n" o1 ]- S
& S% C) v$ l# n9 W# z
if(parentNode.parentNode == null)
8 c! L! Y8 _, s1 C8 v. ?- u( C {
" x+ K( p% D0 M" n2 U2 h isLast=true;
0 A( r' A4 v) T/ j4 o break;
- x" f. _ q% `2 g" B$ ~ }
3 a4 m k6 o4 l& U! o8 ~3 X' ^( v% ^ parentNode=parentNode.parentNode;
! L' `% Q- C; _+ Q5 R parentBgColor=this.getobjstyle(parentNode,"background-color");& T0 R* ?, f, g' x' R3 p" ^
# Q& Q! ^3 z- ^( q if(parentBgColor != "transparent")
% X" X ]! x6 g. `# I {1 p. _, a0 y2 {! o) v! [
break;+ M) T" w8 _- w" M% |
}
z0 }2 r' R5 H; w$ S6 A/ Q }) \, T* ]5 j" G: D; [8 J% }
if(isLast)
+ K7 ]) W: s+ N {
3 n. Y( {: s- F if(debug)
5 ~2 A& s5 k! F8 |. d H4 [ {
4 s( S4 G1 E+ q alert("last!!");) o; ?! ?" w9 m; r" k6 y0 e" X: w
}
. T( m- G+ d% p5 ^* M- q, i if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" c; ~ @% Z: g2 _! {0 f {) r% L" N2 d; q/ c1 o
orgNode.parentNode.removeChild(orgNode); " ]3 Z! m$ M# c) K( W. \. A
}
; G4 g- Y# a: P& ` }6 T% |9 M" `) F$ C) S# q
else
( g/ H$ M0 b8 D1 \ {
1 d. O8 @( ?% z1 G. ?' z8 U! ^* n W if(debug)3 C( z! `2 M* H
{
2 m3 w6 X6 A0 g, W+ L5 B% B# n! F, n alert("compare color and parent bgcolor!");
' T9 b$ |5 n) s- o# o2 J: k6 b7 ]: } }
3 `0 H( x1 \+ G% b+ q) @ parentBgRGB=getRGB(parentBgColor);
& s- P/ t. z/ V if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ \2 Q( c7 o) H5 B) O {; p+ ^ _* T- E1 m$ P% H
orgNode.parentNode.removeChild(orgNode); 1 Z& L4 M) v* x" H2 Z
}9 z4 ~+ V2 ?* ^ c5 {' @
}
2 o7 B5 k% J1 @+ v) x/ t }" m8 X1 X1 E/ g: [3 L, E
}* L& F& ]3 C5 [* J
}
: {3 F4 y) A4 H }& ], c! g2 h4 T) L* e4 B
4 u2 t9 I" A5 n. q! [" H
+ e/ Z' `. I* U1 f$ ^& _) p2 O8 d3 i var itemFrames = page.getElementsByTagName("frame");
3 o W) H- n5 d var itemiFrames = page.getElementsByTagName("iframe");
7 }: r5 K* K6 o" C0 l& K 7 i/ x8 ?. G/ w! J$ D; G
var frame, iframe;5 Q5 h N1 B& y) D* z
if (itemFrames.length > 0)
* A+ ]) P8 S5 O1 Y) c( j! O- N% i7 g {
5 V/ k2 \! g' X! `1 n1 r7 o9 \ for (var i = 0 ; i< itemFrames.length ; i++) 1 _: W+ N3 y/ x+ m' E) D
{
& K3 {) c1 E2 A" y% E, @3 `/ m [ frame = itemFrames.contentDocument;+ R% v4 I7 _9 D# L4 u
this.RemoveHide(frame,objname); 6 @, J2 M+ q9 ?- @$ r+ m W! J
}) Q9 i* Y: ]. c, Y" I' Y
}
; y5 x1 Q. u4 D3 E1 s6 d8 {$ ` if (itemiFrames.length > 0)
, A1 v7 W! _( J7 m {: q$ z) ^5 `: M( B& Q! @
for (var i = 0 ; i < itemiFrames.length ; i++) , s q8 }' p* \7 c$ p* x
{
* ^6 {' W) Z8 i- ]- \- I iframe = itemiFrames.contentDocument;
3 N+ G$ L8 ]9 o3 X! t% ]$ y this.RemoveHide(iframe,objname); 6 V6 t- j! L5 m) e& d' }+ o( Q
}: K3 S/ a( I4 D
}
* m& l7 U+ a( u, K( J7 ~4 m0 r }" ~- v9 | f. e( N. i+ Q& h
catch(e)0 B! k& j+ P+ h6 f4 h
{
9 f( _$ w! ?% J8 ?+ j& K7 C if(debug)
; ?+ G, a) @, T8 r {8 F; I# L* p1 b1 A$ g
alert(e.message);
2 l7 p6 R3 N/ u7 Y }# u# A1 {. d# U/ t. S' C
}: U4 O. N2 ^ T
}
/ }% W" ]2 m% k) c% K# L$ X, e
- r x+ {% A. J' e7 Z! W" H}0 ^9 i4 Z; Q& S, {# h" j
- g4 N4 d4 ~* V# i+ w
function getRGB(colorString)
0 e1 O4 i6 C. l. K; O! R/ N. h B{5 `$ D% x6 N" b9 S/ G2 m; w( s
var RGB = new Array;0 S5 F- l: W3 I- V2 U9 n( r4 ^: ^
var tempSting=colorString.substring(4,colorString.length-1);' N( I1 ^' ^% i. R' M3 r+ p
var tempArray=tempSting.split(",");
8 U5 J9 k9 S6 G2 l0 U+ @
0 b- Q& }3 G- k) `* l; K- V: m RGB[0]=parseInt(tempArray[0]);' i4 m, t, e: }) G- L. r4 V/ p, R$ r
RGB[1]=parseInt(tempArray[1]);$ E- _+ Q/ q! r7 q
RGB[2]=parseInt(tempArray[2]);
. R" v, ]6 a8 G- S. c
, n9 p) l( d8 H6 j4 L return RGB;
" H6 Y- d; f6 P$ T( b* M" X8 ^+ l}
0 m1 |$ {5 R D# y3 }function keys(evt)
- x' d. C3 k3 o. f+ g' v- r% Q {
5 w' U5 w D; ?: y& U if(evt.ctrlKey && evt.keyCode=="81")
, }" x2 _) d6 i5 ]: u& ~/ u { j* L( R, y1 i z
CleanHideObj.on(0,1);/ U$ T/ y$ F+ o6 S. @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & }- {; p W/ a
% e% M( `+ W+ r# _% e
}
1 {# a3 A/ U2 \3 q+ z+ D } 2 [: H* I8 D2 e& E
document.addEventListener('keydown', keys, false);
& _5 {0 I$ d& s) A* N) yGM_registerMenuCommand ('Clean Hide',! M7 l @0 I3 A2 T8 y
function(e){/ m$ S" v" M: U& M9 [, f
CleanHideObj.on(0,1)
7 Q% F7 T1 l% ]% S0 @1 yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");% j6 W+ |9 b6 n" Z* b$ o
});3 M7 F- M6 v2 v* ^( {. {
|
评分
-
查看全部评分
|