|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % o% _" A: a! s
* p$ c( l9 ^1 }; ^火狐插件,用猴子/ k5 l: B7 i O$ m( [& ~
- W$ w: h2 L3 B6 x k
var debug=false;
+ u9 Y. \8 p+ Z% y6 Dvar CleanHideObj=new CleanHideClass();
! l$ |! E2 N, Z0 |! e
% K/ O4 k* f# z1 B3 tfunction CleanHideClass() ! x6 K/ ?1 t$ n6 t
{
5 j+ K( g. G( P- q( g( T- [
# n1 g: G }6 A this.on=function(id,bMZ) o4 F# e# |7 t+ j) B
{4 b- G6 c, z2 Y- o& Z: R
8 F) V! H R& Q
if(id == 0)1 s Z$ Z$ _* l
{6 ]# P" b% f: a7 U8 N0 |) K
var page=/* document.getElementById("content").contentDocument */document; - e: R8 j h) j- s2 J
this.RemoveHide(page,"span");0 d2 ~0 I. j7 @- h
this.RemoveHide(page,"font");
- g& ]. c3 i. P+ a# f1 J4 V this.RemoveHide(page,"div");
( P v# m( |6 j' p this.RemoveHide(page,"p");
f1 S0 e& _( q7 x8 ^( B6 ]
1 X3 b! q* F/ Q% \; {8 v8 P }
! v/ P, e8 l9 i- I- B6 k+ Y: `6 }
* R0 O2 D& w- n$ R3 O! h }
4 E2 w* l1 p: j9 ^ this.getobjstyle=function(node,prop)
( T9 e) ^; [! x/ I. O: o- V {# ~5 B9 c8 R1 {
try! y9 d! `/ L' ` m
{
8 m, T6 b- U2 n/ [4 c. a7 n return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 s# E- z' l) m" [7 g/ M, c }
, C# ]0 O) e$ {7 S7 ^ catch(e)0 B7 [$ O% ~: T) S4 V0 ^: f6 G
{2 i/ A; j1 q! d/ J# R2 ?
if(debug)
6 v _& B/ J4 C {5 K% t. ?2 F% \: P9 z/ Z+ [$ o
alert(e.message);- }8 y9 P ^; s3 [% F% f
}$ u3 Z0 \/ N* O5 h6 b
( H& b9 \2 H# y% c G, \
return "200";( @8 x% o& r$ n c! u+ n9 R
}+ G+ F8 H+ I5 U" z2 b
}' d: g4 b: n7 D1 Y
9 S F) D4 L( |- J, l/ p7 G
this.RemoveHide=function(page,objname)2 @4 |8 P) H2 {
{$ |# P( E9 Y" b d/ o- \# R
try& m1 g5 R% ^& [% r* D6 j8 }# _
{
h, f6 {$ I8 E, ] X) ? var minValue=15;3 b2 W) D4 m. e
var objs=page.getElementsByTagName(objname); 2 h8 W' I/ N: u: ]. R" I1 M. m5 K
. b* {) b/ p4 M l if(objs.length == 0) ) k; t2 S+ f Y( r
{
" `/ y* H/ p/ E# g+ x if(debug)
8 m/ L2 H% @% @ {0 q2 n" i7 D" e, i9 z3 o
alert("no object found!:"+objname);4 _; V) J1 b- _
}
' D6 a/ {& ?" e7 p! R) o }6 ] y( L* c- u/ Q
else
; t( G6 M; b1 w! H {- K+ L: J" Y6 `2 F# D/ Z7 k \
! X3 G* ?, X, B% F. T5 R6 _
for(var i=objs.length-1;i>=0;i--) 3 i( ?! H8 ^ t p8 G1 I
{: H/ J6 \9 `/ c" D$ X$ `* W
var node=objs.item(i);
% v$ \. s2 Q: _2 T7 v ) P, |) x( Z1 e! v
5 [& `7 L" {& n A& w
if(this.getobjstyle(node,"display") == "none" ||
7 l& C/ W" ?& |& |1 x# k this.getobjstyle(node,"visibility") =="hidden" ||
$ j5 {" d4 d# Q* y$ U parseInt(this.getobjstyle(node,"font-size")) == 0)
, L+ p3 u0 M( O D7 d- Q: s; i7 L5 X {
; V& ~* n- _0 ]; Q- Z( N if(debug)& a/ v: ^/ E2 T
{
' P* Z+ ~7 I4 T$ b3 T2 I( p alert("remove invisiable!");
/ v" ^% K# u8 z9 J9 m) K }# j( l+ c3 g$ y
node.parentNode.removeChild(node);
. u# L3 h3 C/ L ) I; k1 T5 u5 ~4 ~; u) P+ w- n
}) h5 z9 }* T4 o# Q
else # ~9 T, e; Z3 w7 T, m% n2 b
{
" w; u* i6 o, U, ?" ^) P if(node.parentNode)
$ t/ [6 J: X( L/ w {2 W' ^# W, u, H1 b
var orgNode=node;
g) V2 H6 Y1 o' d7 t; p6 R5 e var orgColor=this.getobjstyle(orgNode,"color")7 E6 I) p7 a% C1 u+ W& Q; Y
var orgRGB=getRGB(orgColor); * ~) U3 a% G) L
: V3 b, ?) B& w
var parentNode=node.parentNode( a5 v+ ?/ y: q. _0 [
var parentBgColor=this.getobjstyle(parentNode,"background-color");5 A# c, H6 [- }7 l7 {/ F
) ^, [! l3 K( m. t8 w. D6 @$ R: M
var isLast=false;2 O' i" t! L" `& f
+ q6 X" ~5 ]1 o9 M y- [
while(parentBgColor == "transparent")
0 K0 s+ H- l" r {3 |$ z0 ?0 v% A9 T" P- c
- E: k# i" S# G, ?# a& O
8 O$ q. [3 E; } K7 G1 `# r if(parentNode.parentNode == null)
/ v8 \/ D- u* F. y9 X: j; N {' X0 h- X) K7 q2 y N2 {% L
isLast=true;
) w; k" j. d2 t. Y! w; t0 T% g break;
% [, X, `3 I7 N, Q' F }
0 O- @* e. p% r" V# r4 M# e parentNode=parentNode.parentNode;3 \% N' J/ H0 P0 U
parentBgColor=this.getobjstyle(parentNode,"background-color");5 M) [9 j2 F0 d3 O; i0 `
6 o1 S B% V3 V1 g$ D1 S
if(parentBgColor != "transparent") # h2 |& _* X. W1 U2 M+ d" Q
{
% S6 D" t, j( V9 v% H1 D- r break;
" |! X: h" O( T; j }$ }0 E5 p' B7 m& i( U7 ]
}% U5 m2 z; J$ y9 o7 J9 i
if(isLast) 8 E2 W' ^( s) c2 J$ Z
{
0 O! f2 s2 x5 F8 ] if(debug)$ n( S# x# ]1 ~4 G; K* M
{1 E* p3 E7 N2 Z) q$ u/ H$ p
alert("last!!");3 g1 d$ x; l1 R7 N; Y6 p
}
, r' D( Q c5 f2 m if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
- s* d. `6 c! h. s {
0 _1 D4 Y% S8 C+ g/ f$ d5 e orgNode.parentNode.removeChild(orgNode); / c+ k# M0 w7 h. e$ l0 r
}
4 ?: A! X5 W" f3 Q1 ~! @ } N& o) N( z2 ^2 S
else
; B$ W. a/ V: L* r {& B- ~5 H' t$ G; C. J1 s( n
if(debug)
& Q! m& [( y2 Q2 {6 M& t {: p' x9 y. e0 ~. q7 m9 [
alert("compare color and parent bgcolor!");5 U5 F4 ?. L" C& k8 l( @( ~6 [
}! K; J7 l4 M1 w/ ^1 i
parentBgRGB=getRGB(parentBgColor);. b! V+ Y0 V) q* y
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; g$ Y2 c& K% U3 ^) t T) m {% B! l0 m% m c% n" D5 I
orgNode.parentNode.removeChild(orgNode);
7 B; g, V& x: ]; ^: V }+ C/ W3 ^. m6 T" t
}8 ~9 d/ {# o$ }: P* W
}5 ]) A& l/ t: X" b. k
}/ h9 `- r# H: `
}( y3 ], @1 n& x. K5 q: g9 Y
}
/ Z8 ?& S) i& e, Y6 G8 [
* G6 N7 M. g/ x* U& e
$ I1 r9 P( v" R% } var itemFrames = page.getElementsByTagName("frame");3 |! n& o. H& b, \) W- s* b2 L
var itemiFrames = page.getElementsByTagName("iframe");
1 q! F' W# l& y7 J+ P& x( D( C9 F " S6 X5 \) D! @; l# O& \4 u. X
var frame, iframe;
- A8 f3 P( W* w if (itemFrames.length > 0)
# K/ ~% X( X+ n9 d: N! L {& H4 T) I, }7 u4 B7 N5 r! D; q
for (var i = 0 ; i< itemFrames.length ; i++)
; B% X, v7 _& z' x+ T$ G {4 R" V+ o( I" i# g8 ^ [
frame = itemFrames.contentDocument;/ B' `' v+ y' C d4 @
this.RemoveHide(frame,objname);
0 i$ L1 ]3 S& k$ g/ j k% z }
- y4 O8 D3 B6 W# E& K: v8 b }
9 l, w9 s% h9 T6 H7 g9 y" J: Y if (itemiFrames.length > 0)1 [+ W, d: V' X4 j- V8 |
{
& E2 D- c8 f: {/ [. `# }* M for (var i = 0 ; i < itemiFrames.length ; i++) 8 R: K1 w( F8 y1 e% c o
{
5 A0 U) k# H0 M! M0 x2 |' T) m iframe = itemiFrames.contentDocument;
! m- P2 y3 Y/ I4 D% t! \ this.RemoveHide(iframe,objname);
3 y, Q7 q# b* w4 T {2 l4 r' O4 R }
% V4 l9 Y* f- W) d }
; d; ~0 O6 r6 O3 J6 } }
0 n6 f1 ~4 l, B/ @2 V# L0 x, j% b catch(e)5 v' D/ }8 O: H6 W" _0 D. H6 Z9 [
{1 a% |' a+ I, d; H8 g* e
if(debug) h1 {6 G7 R. N p
{( i( s& z7 P& f. j$ z4 ~
alert(e.message);
6 l6 K, _5 P5 J/ z* ^" n }
! E9 [ r2 @/ s; `8 Q }
6 ?' V" A) I# S }6 s9 R! W5 Q. {# p- c5 Y
! {, l; M1 o. x1 H. I9 V}
/ _4 m+ f3 k9 h Z. `$ Z/ n+ I6 Q! }+ Z! `' f
function getRGB(colorString)# @8 I' S4 k: Z
{
( U- a- i* J/ `/ |, h* q; H7 b2 Q var RGB = new Array;& ~) n/ s$ W" q1 ^
var tempSting=colorString.substring(4,colorString.length-1);5 ` Y& u! R& T) H/ I! }
var tempArray=tempSting.split(",");, |1 W+ i& ^# z4 ?9 U
. W! S" |& M. E4 N RGB[0]=parseInt(tempArray[0]);
1 z6 }1 H2 G; Q( k+ l' u, J$ ?4 \ RGB[1]=parseInt(tempArray[1]); w; p; N' C l
RGB[2]=parseInt(tempArray[2]);
: D5 W1 r0 r: t% c' q" a4 e 0 |# q* y' s1 r4 _: R6 |0 g
return RGB; \ [4 Y# O# E+ ]/ D0 W
}
0 u! c/ c* \2 Z3 O6 F0 e! k' pfunction keys(evt) 3 G1 B; g2 K4 ]' }# m9 \4 u |* k3 c
{ - z6 c0 v& _$ c2 W
if(evt.ctrlKey && evt.keyCode=="81")
+ _" K1 v% y& @% |- Z+ y {
! E2 v, I0 c! N4 t# N7 d CleanHideObj.on(0,1);1 r2 `5 [; T6 N8 o) k- H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . k# ~/ T/ @! D
6 N' s2 u3 ^" J: t' m" F7 {, |
} 2 N6 m# Z. h6 Q, e' B5 S9 N
} # t8 g9 J# K6 z: H
document.addEventListener('keydown', keys, false);
8 g& m8 E3 Y- d, d$ {5 i @GM_registerMenuCommand ('Clean Hide',
- c+ p2 c0 k* @1 O; N$ H' K0 S# vfunction(e){
$ R6 [8 U2 n. H' `' j, y- XCleanHideObj.on(0,1)6 U- N% y* i# C5 ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");+ N% e0 H% i! A* _+ Q, }0 T1 q
});
. \9 ^9 g* ?% h# o! P |
评分
-
查看全部评分
|