|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : }: A3 b( s5 n0 V- }, D6 Q& Y
# N% N8 s7 b4 n% I- ]; M
火狐插件,用猴子
( o7 Y$ ~% |: {3 Z$ b, t8 W) B
1 g- R5 @2 i. S) E, Ivar debug=false;
s& p" V* z4 s! J& X( G' x1 \var CleanHideObj=new CleanHideClass();
9 b. g0 ?9 j$ B/ W! [- X& h5 @- H+ O+ ^5 r
function CleanHideClass()
* w1 M! w; G4 \* x$ X3 p{ 2 D! p4 W3 t' U2 b( ~
/ r% @7 J# X1 V this.on=function(id,bMZ)/ O( \2 r* z% g8 g( ~
{
4 O/ G' |% J T% x , J; e, k2 q) k0 N! {/ d! ^
if(id == 0)+ e6 |$ A) h2 D: x) _0 `1 y# w
{
. q" [. I" o; @ var page=/* document.getElementById("content").contentDocument */document;
: F& Z ^8 P3 U5 M' l: ~5 u4 c this.RemoveHide(page,"span");
' @" s) {# I$ H$ X/ t' o# g this.RemoveHide(page,"font"); q0 Y' d& v2 K' {
this.RemoveHide(page,"div");. s! |+ K3 ]0 ^( q( H
this.RemoveHide(page,"p");
1 a# h$ I0 T. u8 y . l# Z; L [4 H
}- L0 t3 K- I6 w( l. e( R* K2 _
4 ]: ]# S3 y1 j9 V& F& H; H
}( T2 @& @) e' v) {2 P
this.getobjstyle=function(node,prop)
: I5 n: _' A: V7 q {
w2 c% t, y- h" D K try5 H3 z7 o0 W( | v3 f
{4 t" T7 a) f) _+ W
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);! j9 e7 y; @) g7 ~* V3 c
}4 P! ^6 c2 D/ O
catch(e)
5 l7 X& R! t0 W1 g9 } {
) G5 C- @8 u4 m# n: M' ] if(debug)+ @2 b* o. d! y! s: \7 U
{9 u% N- l( c9 t: B( R
alert(e.message);
* B: k6 I& W3 D8 I3 B }$ b; |0 J( o0 A
: y1 p: a) y. F
return "200";
% f$ Z7 }% M) v/ ^ }: k3 ? U! w; O( x# Y0 r
}. ^; h' d0 W- C
m' q$ S6 q; s9 K1 m
this.RemoveHide=function(page,objname) a( I- c5 P) y* L/ I& n/ `
{8 {( z5 v5 V# |8 b& f/ Q
try
% ^) w) L) P G {
! R. s5 w1 W F' C" t! \ var minValue=15;
1 |* ~* B3 r3 D, h var objs=page.getElementsByTagName(objname); $ s R+ I2 \* E" Q; e1 I
1 _5 T. z% R( o, |3 x
if(objs.length == 0) 1 f2 o( S/ K' L7 ]1 a+ l, M
{0 I: ^$ ~) n4 h5 h' z- f. Z
if(debug). A( y( E3 @; a$ K* `- i% ~
{) @0 t4 @4 A6 ], O3 O
alert("no object found!:"+objname);
" o7 H- o& c" O5 Q }
8 W9 e" f% q& c+ b( b3 |- S }9 k. T( _& U' X* d* E
else
: F" p1 ~+ r; P' H+ R* Y {) J' r0 s6 r3 ?: \" a p* a
1 t: c/ L7 ^2 K9 w
for(var i=objs.length-1;i>=0;i--) ; `- p+ C' b, o$ l) m
{
+ N8 J* t; ~4 a var node=objs.item(i);
/ t) d% X4 X; m9 k$ G1 b + ~ h% B8 }2 u$ Q/ P0 {8 F
* Y' }' e7 G1 u& _$ C8 ]0 N- A; P if(this.getobjstyle(node,"display") == "none" ||
" v6 |+ v% r! Y! x, i this.getobjstyle(node,"visibility") =="hidden" ||
1 \" d; r- m) e5 N# N8 e parseInt(this.getobjstyle(node,"font-size")) == 0) ; K, }0 ~8 o5 b+ V8 g0 V" }
{/ r6 I3 G2 ~ b& O) F2 q9 o7 U
if(debug)
8 b+ N2 |. ~4 b4 o* c1 D2 v {
0 |5 O$ | K) u8 T/ s5 o alert("remove invisiable!");3 t9 k$ Y6 |1 H" L# {) j9 F
}
% W0 \. p) P! B- J* \ node.parentNode.removeChild(node);' C7 ?) e3 ~/ D1 e) _6 f
8 _0 O2 _- h; H& ~; w
}" T4 w- E7 G# ?9 q z- x' p, ?
else * k i( ~; M0 I# D
{
. O" Y" D( h. Y4 c! j4 J4 [1 t& t if(node.parentNode) , O$ \/ p$ Y4 E5 m* [; x
{
& ]# h" `$ l$ X' N+ {0 q3 N$ J var orgNode=node;" E7 E+ E3 @+ Q7 l
var orgColor=this.getobjstyle(orgNode,"color")
$ e+ C2 O, _* [* i+ ^$ | var orgRGB=getRGB(orgColor); : N" ^# ?2 a+ H
% b- L+ [5 R$ `2 [5 x var parentNode=node.parentNode
d6 t+ i T& I var parentBgColor=this.getobjstyle(parentNode,"background-color");
! O& t! F H( D' F; ?: v, b , ^1 z7 t- q# I# ^& }" Q j Y
var isLast=false;4 J. Q' X6 y9 k5 d$ D2 `
" q& j! n. L* j6 E$ O5 v" M while(parentBgColor == "transparent") 3 H* J R( Y4 n& X$ J! j. n
{ b3 d Y8 n* q# z# K# B
: u: e: R4 W/ j# j m: Y ]: l* c/ @' T
( e- E: L( c4 h. i) x6 J+ i if(parentNode.parentNode == null)
, O% ]/ t6 K9 r: M {" \+ E! f" j& E/ y/ h) \
isLast=true;
/ q7 r. p: {$ e8 k6 {+ G break;( J( c- _( w3 E/ E2 t: S z
}8 }1 l' k$ X! d0 @
parentNode=parentNode.parentNode;
. B" k' B a! [$ b6 o parentBgColor=this.getobjstyle(parentNode,"background-color");$ x% U9 X; T) d' I Q7 J
4 P, C2 O s5 H q: ]4 r6 \ if(parentBgColor != "transparent")
5 b5 u7 E1 |) G0 d( [ {
4 R& J E& |2 Z7 ~8 B3 j$ p( K break;$ C3 k, B5 O: G5 ^& `
}
4 i9 n! z. G% {, |7 ~- d l) _ }
$ i# @- B1 F* K9 ?2 |% H if(isLast)
0 |7 j4 e9 I2 z" T2 t {
! U) z6 j" k5 P. P" j0 Z. p if(debug)- S' w8 O2 A" b5 t
{
9 }4 i. U- f1 z9 a1 E) t alert("last!!");
: a' g1 r0 T; m7 @) p }
, x: M8 Y7 a4 w) ~$ O if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& L) s3 q9 S7 }6 n5 x
{; N# R) ]& @; ^. `* A% Y
orgNode.parentNode.removeChild(orgNode); ! m" v% {( y( t' W
}
5 y' N, H8 m+ p2 w$ f: s }
* \7 D7 O( R( @% g else8 |! l0 s4 J0 K0 W3 [
{7 z5 A0 d6 m# w k! z
if(debug)
5 R* Y# u" }' g$ o* m9 `7 ? {
4 p9 ]. H7 b+ T( J alert("compare color and parent bgcolor!");; X9 u8 w7 w3 d' d
}
. [% U& v d9 a# i M% k& {( p, d( | parentBgRGB=getRGB(parentBgColor);
7 G# w1 W. S, b# h! H if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ z5 z/ o0 b/ Q0 Q& T& h4 K {
4 B1 v. [9 \0 v/ l/ j3 ^' m" m orgNode.parentNode.removeChild(orgNode);
4 c& R: [9 I) A, G }, s! c k/ U$ a
}& W0 n0 b9 W: B* U
}% C& k* V, [8 [9 ]6 S8 Z0 V6 t
}
: M& h" w T' K }
. e' i+ Z7 t! @" N/ O; ^ }
- h9 s6 t$ z s, J8 A 2 F' c: w, X4 T& X
. h7 P0 M1 K# j" M+ `2 w
var itemFrames = page.getElementsByTagName("frame");; r6 u+ o( i# x9 ~6 z
var itemiFrames = page.getElementsByTagName("iframe");
0 ]9 Z: r0 }& t. S6 z$ f0 O ' l1 E% }( g% H; ?8 i
var frame, iframe;
2 J7 D \7 q% O6 u1 e if (itemFrames.length > 0)7 e5 V" Q1 i: z. C
{
# u5 g0 s, a ?1 P5 M1 H, _7 y for (var i = 0 ; i< itemFrames.length ; i++)
& y! X }; Q1 _8 g( \5 K& A$ M {
" D _/ | W/ _" z( S) ^! o8 y* u: g' { frame = itemFrames.contentDocument;+ y9 e# E: U) E
this.RemoveHide(frame,objname); . F0 w/ d& h* |5 j9 N; t
}9 r5 _* b9 f6 D
}
0 U7 N0 r" Z! V0 b3 w1 x if (itemiFrames.length > 0)
7 M7 r7 z. }+ H$ l8 R {+ C% ~: `" v0 P
for (var i = 0 ; i < itemiFrames.length ; i++)
; O0 W1 a6 h M e {$ R9 f) g# j/ _" \- E5 m: s
iframe = itemiFrames.contentDocument;5 u! ]8 ?1 m& y2 Z+ X: r$ X+ l, S8 D( [
this.RemoveHide(iframe,objname);
2 J0 G. g8 s1 Z }* u% b* n7 ]6 m/ [" s" B7 {
}
, K5 o0 |) [/ W0 F3 T s# z! d/ R7 ~ }) [# _2 x4 m6 E# g5 Z) x$ M2 Y6 k
catch(e)% Q4 }2 W/ `* ^; ~0 ^0 J- l4 H" o
{
+ E8 l( A6 y5 B+ v% } if(debug)8 v( m3 X/ c% _$ H5 _
{4 r# C- A0 \8 n" d5 o1 p( R ?
alert(e.message);& _* p# W& j& U4 ^2 |5 s1 s
}
* }# a" _) m3 G( V) Q' C }/ I: z8 {) {+ y0 u% C# Y- o
}! U, N3 n% ?. Z# B- F+ c
$ G' e4 R8 v, I+ c+ |}; c0 N: Z; ?7 y4 f* k* h/ C" c
' V! v; Q4 j, L9 \* a' X
function getRGB(colorString)
4 T& j+ k' A" ^0 @9 D" p{$ |8 u% [! y5 i" u! W2 U
var RGB = new Array;
8 ?- ]6 M( J: A( L4 K var tempSting=colorString.substring(4,colorString.length-1);
3 @2 [! R! S# \. p& n var tempArray=tempSting.split(",");0 b; v0 ]$ O. h4 B) [
. h2 c+ i, O# ?- }+ J% X# Z+ H' y RGB[0]=parseInt(tempArray[0]);2 Y! P" b( I( d; o8 t( Z* }' f
RGB[1]=parseInt(tempArray[1]);3 R; ^ R( Z# S; M7 Q+ U! @) U# O
RGB[2]=parseInt(tempArray[2]);" n# `0 M0 {5 t. c% |& z' }
2 r* x& B/ O4 C# j* H5 b _ return RGB;4 P. N) y! j$ K3 X' P4 [/ F3 d. R
}
, S7 h& h4 m4 X7 r. a; lfunction keys(evt)
+ G9 ?, G+ R. l) O5 K {
6 W2 V) M7 K8 a5 e9 G% x if(evt.ctrlKey && evt.keyCode=="81") & ^$ r4 m+ ?$ ?. U$ D/ ~
{ + _" d. T* ^) T2 H; x4 W2 ^7 K$ ?
CleanHideObj.on(0,1);
1 Q9 l3 R2 C" I# _) c7 N7 E alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* J e4 _* H0 d! e! q
1 a- C+ |2 Z, O0 |9 S } u8 X0 m* j9 X! `* Y6 ~9 [5 z
}
' A A" ^$ _ ndocument.addEventListener('keydown', keys, false);
; A/ t2 u8 A0 Z/ D, pGM_registerMenuCommand ('Clean Hide',
0 Y. P/ i2 [ V/ q5 R7 ofunction(e){8 D2 `# ?# }% c7 i' K3 D1 z0 b
CleanHideObj.on(0,1)
& x2 k' M4 @+ N/ J: q0 Falert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ w B( u- m7 ^9 Y" C6 p" v});4 X6 K2 Q$ w6 z! L S6 h
|
评分
-
查看全部评分
|