|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 ^- S4 Q9 g2 A: b/ ^
% e; M1 C$ @$ B' Z* Z
火狐插件,用猴子# J- l( M @5 L8 I6 p
2 N+ r" H1 U* J5 Z2 B; F% Mvar debug=false; 0 d% z8 }+ s- ^& G6 [
var CleanHideObj=new CleanHideClass();* R5 J5 d) E: G+ r
3 J$ G) a2 U% g2 d2 o; {function CleanHideClass()
- m+ w3 s6 V' @+ J{ ' f# ]: f: F! r; }" Y, a
9 i+ V1 X7 R+ k: N! W+ h this.on=function(id,bMZ)
# B+ a) Y% O M- f8 J a2 J4 P {7 T/ ?% `" c u$ b% X
5 X" I" ^! A; S3 ~6 R/ ~
if(id == 0)
, v. {% p ~: F5 V+ |% S' ^ {
' @ E) i4 R+ [& ~7 o var page=/* document.getElementById("content").contentDocument */document; 4 t) P* m h; ~( o- i, B; ?
this.RemoveHide(page,"span");! a4 s3 C; W* J! W" L; G
this.RemoveHide(page,"font");
6 U2 J6 u! G. a( x; B# b; k, l5 Q this.RemoveHide(page,"div");5 C5 d9 G6 O1 \2 Q" d4 O
this.RemoveHide(page,"p");0 `+ [! c, M4 k3 c. V
1 V5 G# h. e( P4 `1 g) X. l }
% f, a# b/ \# }# J2 n
( `3 C: |; \ G& U }' B" ~. u1 @, b+ V' U9 |
this.getobjstyle=function(node,prop)) T9 _5 K% _+ M5 o- E! p
{
9 D5 C# O! V" v try
7 A5 ?( {0 V, n9 e! x# z$ E, i {* |7 H% E' Q3 U1 i6 E
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( U& E& D4 q3 x }+ w6 { q5 L3 V8 y/ u/ g" v2 G
catch(e)8 _& ]7 r1 ^5 q9 C
{
, |* p1 m: _ b( N& r if(debug)
5 [. G" D4 a' W: Q2 g" Y: ^) Q8 ? {. n4 L8 @5 c7 [6 g( _; r
alert(e.message);
5 u: G8 {0 g( |% ^ }. x0 A3 I, y$ e+ c* X, x
Q3 f/ @7 s( w4 p" d; V return "200";) O: _# y! Z) p
}
7 q% A) W7 {$ S% M7 r }+ A% L. `/ g3 J1 g2 W9 p/ B' Y
( c- `5 B2 c u9 L this.RemoveHide=function(page,objname)
- b* ]8 \1 p5 M# ?2 ^) K {6 \8 r3 {) n2 X1 C
try5 i5 o+ P) s# r+ P8 G( e7 E; n3 i, L$ t
{
' t: |1 _! G! A- \9 F var minValue=15;" m, l5 l- L* w/ r4 F0 W
var objs=page.getElementsByTagName(objname);
3 h; D/ U5 e' z; ^( u! c! y; ~5 B) h' |
if(objs.length == 0)
( V0 p/ P8 [0 f2 k" P6 }3 ?' ` {) ?! }. J$ [" n7 O
if(debug)
+ j) B% d5 v( H1 `8 ^ {5 D) \. x% N: L! M; l; T
alert("no object found!:"+objname);4 k3 h( v. e% o
}
9 |5 o. e8 O5 s0 h. C4 L p8 i }
; {8 z! e) ]: E' X) ]( t else; x( q0 W0 G/ i9 W+ E J' t9 g" z
{5 c2 s4 N. x3 c# h+ j) _
* p( z7 K O& b) l3 [ for(var i=objs.length-1;i>=0;i--)
% c7 g' B# S- A- }, h) Q/ {: n {
* U1 m" h5 r9 F y" U; \: ] var node=objs.item(i);
& B8 t4 x/ z' L' D# I
% ~# A- c" D4 \, A8 g
5 ?! G P4 I% J& J, m5 ? if(this.getobjstyle(node,"display") == "none" ||2 }4 Y' I& _6 {6 U
this.getobjstyle(node,"visibility") =="hidden" ||
{3 s+ ~6 x! o8 y" D parseInt(this.getobjstyle(node,"font-size")) == 0)
% {& o) m. j2 @5 q( O R3 y {( O4 y: y' d7 u* `! y6 R
if(debug)
( n- T8 H0 _8 J6 b, S {/ F6 Z! j8 P9 T; P) ?
alert("remove invisiable!");
# c. S: c: R& z1 E5 S8 E0 ~ }! _ e! i+ c9 ]. C
node.parentNode.removeChild(node);
* |2 n. ]+ T2 f: V3 i* e
; n8 H- a. U# y. T' ^$ z0 b( D8 e }
' m: S# P, h) R4 l+ t# p else
# t m* C! d/ |' N1 S7 T+ E {8 X5 c- _2 T" }1 z4 x! w
if(node.parentNode)
) x7 z5 ?9 q6 O/ }0 j+ b2 y, O2 A& A {
$ W; Y, g! O3 A2 |7 q var orgNode=node;+ w0 K8 T0 z; {7 u
var orgColor=this.getobjstyle(orgNode,"color")+ r) ^* {7 x3 p! K
var orgRGB=getRGB(orgColor); 5 f% o2 K0 S4 |7 W$ j
9 d0 }- D6 l7 f2 |
var parentNode=node.parentNode
/ K4 E2 _+ K, l( Q var parentBgColor=this.getobjstyle(parentNode,"background-color");
( y" Z9 g- `3 [- F7 _
" B2 O. M: J" Z: | var isLast=false;
4 D% x! A$ z; W- V. S- v" ^- r
; O' g+ V' ?- U W( J while(parentBgColor == "transparent") B- h# R0 [# `3 x6 \( Q
{! c5 i# }) N* Q4 y5 S
5 R' [& S' M* _, j* Z/ M+ y
9 x3 a5 G( g' d# B if(parentNode.parentNode == null)
/ l& i2 C9 X) N- H" z) i; j0 u {8 Z9 l% y T$ v# d; @
isLast=true;8 Q: }1 \3 X0 d9 b8 B5 P
break;
; p' [& e* N9 E, Z }
* O: \ d: |. j) z# |+ l5 z parentNode=parentNode.parentNode;6 G+ N( J+ ~' a( p7 }. ~1 c. Z
parentBgColor=this.getobjstyle(parentNode,"background-color");' U4 N! e4 T4 s$ `- h' ^4 `* n7 `
4 L* ^0 f% Z- E0 W* p6 x- T& c
if(parentBgColor != "transparent")
' i2 n. _- Q! @8 p& y) r1 V {9 w5 A8 h2 n" l" V/ |3 P, `. {3 F. U
break;
+ o [* @6 Y x4 f$ g9 O+ X( N9 N }, ]( H4 `5 h6 ~4 k
}8 S+ |) v. x- _( f5 w: W2 G
if(isLast) " @" K1 r& m& g6 p
{
* `7 L& s$ X1 W2 o) Q if(debug)
: Q' [% i2 n! p! b- e {+ s: ?) _5 S% l3 _3 @
alert("last!!");+ f) `2 G2 e7 {1 J9 e6 m
}0 e5 a% z+ Z" U$ `- M* \$ ]: l
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 z( k0 u2 t& @+ { {: Z. A; Y7 V6 {) K/ [
orgNode.parentNode.removeChild(orgNode); . P' v+ h5 j' y$ w1 T
}4 w9 W3 A9 j! b; e& w& m* _" i2 q
}
2 A8 U/ e" g0 F8 w- ^* h else
* a4 Z/ X! |. `' U, e {
" g K; W. ?& S if(debug)
8 z* H! B3 L1 n: F! w1 t {
6 f" Q& W) C: v: ~) v/ b2 [ alert("compare color and parent bgcolor!");) K$ g* `. S! \" P( `, d
}
( v( |# H" M* G0 R, ^6 m( O/ R' o parentBgRGB=getRGB(parentBgColor);
' Z u+ M: s8 i1 t if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 ]( ]9 K# H9 A5 k. s {
3 Z6 p1 u0 E6 I, J s- j2 [) ?2 v orgNode.parentNode.removeChild(orgNode);
0 Q' l6 f- n W: u: H; G4 I }
' B: P9 U1 D& C& Y/ G }, J4 L: Q' O+ y. @) J& y9 U
}
8 _+ M" {5 j' a3 Z& d3 n0 N) p9 t }) f/ n& a% A* ?/ w# ?7 h
}
0 Q8 |5 z8 r! t3 G v }
9 ^7 I2 M1 F7 H4 T; R
6 k2 |/ W( F- C# I. P . L( h) N8 N& @* x
var itemFrames = page.getElementsByTagName("frame");
- S3 x) a0 R, I# \$ t8 R, p var itemiFrames = page.getElementsByTagName("iframe");; j, R9 I0 f: C1 r# d
; u- d0 X* \+ y, W1 g8 Q, F+ w) j
var frame, iframe;
' q& l! ^2 z: X if (itemFrames.length > 0): D. Y! S5 U% n" I8 i- o1 g
{4 G8 b7 Q' n4 u; b, b
for (var i = 0 ; i< itemFrames.length ; i++)
& ^" H7 N) S3 h1 r' P0 E& A {
; L* [1 e& C9 L9 Q$ y6 L frame = itemFrames.contentDocument; L/ T' E/ g1 m
this.RemoveHide(frame,objname); 0 |/ f. A! H% [' F% e, [
}) z& K$ J# P( l" w3 u9 p
}9 ~7 R; N- U& w. `1 |
if (itemiFrames.length > 0)
$ r+ a( c+ \: d4 z6 j$ R! s8 } {% o! r( Z$ p5 |$ x9 d. C
for (var i = 0 ; i < itemiFrames.length ; i++) T0 U9 q) c2 e' x. U! @
{
. B# Q" j/ l+ a+ k! Q3 M/ u iframe = itemiFrames.contentDocument;
( b2 M# k9 \% s; E this.RemoveHide(iframe,objname);
. ]0 o& q* p, d; A% p8 w9 R }
5 x* w" b: T4 u9 T }8 r6 W2 C) ]3 C5 Y* R
}
0 }5 w0 E5 q4 D Q6 v catch(e)8 d- ]( V' N$ H
{& j, o* U. C( V* a1 T1 ?
if(debug)7 `8 A% D4 m) U$ x
{
7 M) c3 t, K# `3 g: ~ alert(e.message);. c7 ~: N I$ _" F" ?) ?
}4 W6 H$ i$ ^) N; m' |# i2 k
}- S' _- w$ [* a; V7 \# s
}
+ I$ o' Y# H8 X2 p' K' d* Z# F7 o0 q . I6 C* `9 {8 ^% P; N3 G- n: \
}; C# x7 y+ a- Q# A$ F P
1 f, u6 _( Q4 R* ^. ? K: Bfunction getRGB(colorString)
6 K( I6 B! c% W+ @9 Y) _3 }{, f, l3 ~, _9 |; M+ f
var RGB = new Array;
- T/ n( W9 {+ D var tempSting=colorString.substring(4,colorString.length-1);* F t5 `/ j: q, u7 f( [# x
var tempArray=tempSting.split(",");
2 e y$ i1 D# _+ T9 a8 ^
; i4 i6 p5 }7 R, c RGB[0]=parseInt(tempArray[0]);3 A: P4 J) k6 O0 c) F
RGB[1]=parseInt(tempArray[1]);
- b' G1 w* C( L$ j' z4 c# a7 z RGB[2]=parseInt(tempArray[2]);: T* z: B' Z A2 D6 F
+ ?( }/ y8 `& ] N1 R' Q8 W; x return RGB;) t/ T. x* b5 Z7 U
}8 t/ ]. E0 g+ ^2 _+ u6 n2 C
function keys(evt)
. u' `% G# e7 D g$ n { : }6 f$ x" t: p) u- |/ H3 q5 Z
if(evt.ctrlKey && evt.keyCode=="81")
5 \4 ^* m" X( U, W3 @/ _; h3 ? {
0 I; v1 f. w$ Z* }7 |- Y# ?, P ~ CleanHideObj.on(0,1);
9 T6 O! {) Q1 U& b alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 3 Q) z, |: J; `- a- ]
" b6 k- _* k, O9 g# F, h" z( p4 z
}
1 E2 V0 Q6 ?* g* W/ x4 S }
0 W$ F K1 i1 rdocument.addEventListener('keydown', keys, false);
% ]' h/ }) Z! q2 ]5 y- ]GM_registerMenuCommand ('Clean Hide',: I7 V+ @( f, t: N
function(e){
. L1 G5 H" D4 x! U# S* g* GCleanHideObj.on(0,1)7 }" k! A+ h, {* O' d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# D& M/ E7 ?& F; i& _% B3 t});7 j* _: q& N; B$ F( h7 }
|
评分
-
查看全部评分
|