|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
8 D2 n% {4 c, a5 E1 a+ n- v) y9 s" P( E ~
火狐插件,用猴子
$ n3 u# W/ B& N9 b- p( g
% `# L5 H8 [7 }/ | qvar debug=false;
* V! o% s, V( e% p3 uvar CleanHideObj=new CleanHideClass();/ K$ z \5 g! B' F+ ^
0 W1 [7 U3 L$ ?; Z- z0 l
function CleanHideClass() . M; W! x( v. F2 @: l
{ ; Q; Y/ _( _ L8 u2 r/ X
; x% g! f# ?5 G& O1 O& Y4 Y' y5 ^ this.on=function(id,bMZ)
; x+ V \# D, ^5 j' T M4 _ {
2 P1 m- l a) g5 i3 h" { # A$ p x: y) d4 N* L6 N- c2 O
if(id == 0) F& |! Q+ ?1 [, t/ {1 w; I- M
{% a9 w3 _2 e# Y5 }
var page=/* document.getElementById("content").contentDocument */document; 9 M; e8 D2 f: x: \
this.RemoveHide(page,"span");
& }. r' L8 U2 E; K7 J this.RemoveHide(page,"font");
6 A( l( _; n5 Q5 S# U this.RemoveHide(page,"div");
4 d/ e$ T+ X; S- I this.RemoveHide(page,"p");
2 S! ^: T& n9 _. ~ I # ~' J0 I% O3 Y9 ^2 {: F
}
+ V/ Z, u% a' W" _( L& {0 c ) L2 E+ V! |! E8 K2 G; A8 T& S
}
& B4 q% S* v9 S this.getobjstyle=function(node,prop). i2 M" S P, a3 e+ K. `8 H- o
{* s1 V4 d5 W8 I1 Y5 T- x- T2 z
try
9 w' Y$ G0 S( l0 G$ S ~ {% M4 p& f `3 C4 `/ ^
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ ~+ Y+ L( k$ i
}: D) u/ U! A. r1 x9 Y$ d X
catch(e)& \) x) I# j& O; C& `6 |9 E$ H1 D
{1 C! E) W& {6 A3 V1 s# W; L
if(debug)
7 F! g, i% L( P* l/ Z6 ? {
/ _1 Q0 z; n5 @) I alert(e.message);
& N. l" y6 ^% U9 X' s% w }
: H* U! L* x8 G # H( f7 ?. u5 [ L4 R( ^: B
return "200";) [7 s6 a1 {1 n) L/ u) ]
}
' Q/ s# U1 M" G0 y5 x }9 L+ s0 J2 n$ h) k7 T4 A
% M- W+ k: z7 ^" z
this.RemoveHide=function(page,objname)
' Z3 k# y: q# C8 j& j5 k+ t {% |/ H" {7 U- s8 {. q- a
try
* R' v8 X! [$ j: l0 [1 l* D$ F {1 ]7 v# H( ?4 J: e: D5 y& f
var minValue=15;7 F: h! V. T5 J( o; |
var objs=page.getElementsByTagName(objname);
0 W: ?% S0 B0 p; ^! a$ f; i' q; T
) ]0 E. l+ N7 X( A6 y6 @ if(objs.length == 0)
/ h# m+ Q- c s3 E9 W {
5 e# n; n" r8 h if(debug)
8 y) V5 A" D! y9 m; c {
* o; v& [& v5 p7 a" G* k* r alert("no object found!:"+objname);
4 O) Y& r& J/ b! M0 f% M8 [* Y }
, x; R; ^& S1 I- j }# k5 j5 @7 }! P( U
else
9 T3 D9 M S/ ]; |" y {9 N4 n+ H1 H8 y( \/ k! O. _/ [2 m
( _; Y9 i' \9 E+ G
for(var i=objs.length-1;i>=0;i--) 4 m; C3 B( v. i5 k! T' h% M/ N; a
{+ G ?( \% i! w }4 @
var node=objs.item(i);
. ^" f' X/ l$ k" a- r
% L; |2 H3 i/ S2 q& w& b
9 a( D- F0 k5 F- m/ b/ \7 j if(this.getobjstyle(node,"display") == "none" ||
9 w+ }! a. a; n: s- o this.getobjstyle(node,"visibility") =="hidden" ||" y: r3 [/ I$ k
parseInt(this.getobjstyle(node,"font-size")) == 0) 1 @: Y0 e& K& V+ C& u
{# t/ ~# V, o4 S/ V( X+ R' f( }
if(debug)" X9 L: O- F( V- L
{( }6 o' z6 T' j, E5 F* Z
alert("remove invisiable!");
' j8 N V' [* [ }; x! Y* \4 r2 k7 M
node.parentNode.removeChild(node);
4 C) E9 |, K1 d0 E/ C 6 l9 [4 K ?/ e- s- c: D
}
6 H) K; l: c8 q0 z6 c' l* \ else 0 E! W' S( u& u U, A! S' ^
{6 [1 @: @8 u& J. ^, X
if(node.parentNode) : k- s% ]# T9 O9 F% p) c' F& m
{
* @ M* _: N# S( ^ var orgNode=node;
2 x/ B( U, \6 I, }6 p; R5 L, r6 R var orgColor=this.getobjstyle(orgNode,"color")
- }4 d% g) v' K( p) Q) \6 d8 b9 X var orgRGB=getRGB(orgColor); , L Z! e( Q- ^5 Q6 I2 {) d8 n- z, P
- X) A8 q$ }) x% Y
var parentNode=node.parentNode: A8 [9 r/ f$ s* X1 w* t3 ?7 S
var parentBgColor=this.getobjstyle(parentNode,"background-color");
( Y6 Z) E1 N) h * K n9 p5 ]- q. ]* f& U
var isLast=false;6 D6 W. E. p! G R% x# |) b* _6 J
0 i6 v z+ U, _ while(parentBgColor == "transparent")
) p. A! ?5 j1 {. d W- k2 B1 p {8 U1 y) q( M3 s2 T
; a, r) k2 i- g2 h
- V: Z- L% V( u4 ^4 S if(parentNode.parentNode == null)
$ P7 H( X( g9 M; z# b% G {
$ {$ Y ?; Z0 ]( x* r3 W' w5 u0 \8 B isLast=true;
/ R/ m' {- Y- y; l( t4 ` break;( F, q" x* j9 F* e
}
" r# M' }6 ~: y6 _ parentNode=parentNode.parentNode;
, g$ f4 O1 C G/ A parentBgColor=this.getobjstyle(parentNode,"background-color");
4 A8 o( k: ]5 A0 M+ V. H$ P: u% J5 s% U. ^5 P+ D
if(parentBgColor != "transparent")
9 }4 B; ^5 T" s8 Q) t! ] {& b+ i. b+ y1 t8 C4 A% T
break;
& p2 |5 i- B$ Y% ?% K }8 ]& s' e9 c- ?% ~+ d/ f% u. S
}8 `/ K& Y# @9 q+ y
if(isLast) ; i; Y' j3 S( S$ S
{
7 J8 y" v( {6 f9 w3 X9 \* P* N if(debug)
$ l4 @# t: {2 C7 E3 \ {
9 y5 O' A/ N& c8 U. O% m- I alert("last!!");
2 n! v- E+ a, C/ b6 \ }
. Z. ~- ?/ G7 e/ D& w6 a2 k6 F if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))9 D2 I G9 ^, t
{7 |7 A7 b* y3 r5 a7 B2 V
orgNode.parentNode.removeChild(orgNode); 8 {1 p9 y% y" o% r
}
/ N$ u' N1 q" a4 d( T- i }4 H. r( r [5 e% u n/ Y2 D9 A
else
) ^& T2 \- \9 r9 X. T0 F0 j {
8 \8 ?" W! E: |' d6 E5 }, V if(debug)8 r% @) L1 B( a5 A3 s" A
{& `2 N* Q: L( ?/ Y' M
alert("compare color and parent bgcolor!");
n- a7 d$ |( u8 a$ ]' u }3 B9 _0 J4 V ^; s
parentBgRGB=getRGB(parentBgColor);% Z# P& y$ x' ^5 u
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 P6 u/ R5 j6 Q% |9 l6 N) v; a {6 @ U* E; t+ F- x8 S1 Z7 ~
orgNode.parentNode.removeChild(orgNode); ! i) I5 Y. j0 j% i6 d
}7 |0 }2 j2 g3 B6 N4 ?2 X# `: y7 I& R
}+ o. Y. R! ?& w
}
0 b9 i2 K$ T1 t( j2 B4 `! d }8 v; s% z. \ W; T0 r
}
" t+ e% g5 S( n3 o }) B! K4 X- X4 g) q+ ]+ X9 x
4 G, |; V/ H+ n5 c
9 U0 X2 y2 e6 u( o8 }9 `2 g var itemFrames = page.getElementsByTagName("frame");/ d1 M! f; P8 e% V- b* U
var itemiFrames = page.getElementsByTagName("iframe");" N9 K6 I( V7 a! K- a( l
( K# c6 X A* F" z6 O3 {: W0 g5 N/ m8 v var frame, iframe;- D/ K1 U: w% f8 c7 M
if (itemFrames.length > 0)
; o) ?- A) I# E' d$ O {
# \2 W: {# L9 L, \ for (var i = 0 ; i< itemFrames.length ; i++) ; a& X( r8 r: i- Q- U: y
{9 `2 m$ @; G# }7 {* G, m
frame = itemFrames.contentDocument;
. X% A. t. l8 R) v this.RemoveHide(frame,objname);
7 v* G0 C$ a9 b }
" ?% D, Q3 \$ q! b }: ?; O8 d: u9 p, \0 Q+ D$ H! d
if (itemiFrames.length > 0)
2 V j" x# x' G: Z( ?. Z5 k/ _ {0 }" n5 o) M: u4 q
for (var i = 0 ; i < itemiFrames.length ; i++)
: U4 G9 m. H& e {
' e* J3 f4 I: k& K+ ~, T iframe = itemiFrames.contentDocument;; z8 h# r; Z @( H6 @7 k% n- p7 h
this.RemoveHide(iframe,objname); 4 d4 I6 M R- P' v2 P1 ~
}
& z' r! ^$ A$ i) g }) _" g7 Z: [: F1 a& N2 l6 p& U# N
}
( w/ }. G% Z( }& D r catch(e)
6 o1 S0 U" l& [2 j6 @ {
, J% `" W0 b: d N4 k. s; x" U) v if(debug)4 M! M( o; }1 h: Z8 W. ~) [2 A
{
& \' T9 A1 k" a% l9 u* A alert(e.message);
3 k& b2 L: I n7 G2 L/ y# l }. [0 W3 `4 ~' b' S- O u, z" ~
}0 _8 h1 X: O% E2 V5 D4 c
}
1 a( {0 J- r e# L" X4 T) h + w* ^/ @. X2 N
}
; v, |. r6 p+ f2 F& n7 C0 I
) j0 T9 n5 P! b8 \+ Ufunction getRGB(colorString)* h4 t3 l+ s8 [6 \6 ^% Z1 @
{6 S( {% c0 S/ n9 J* m4 C3 J
var RGB = new Array;
' N1 `# z1 u a0 G3 m% X$ k var tempSting=colorString.substring(4,colorString.length-1);5 L$ ]. c5 a) N4 X5 W
var tempArray=tempSting.split(",");
2 L | |4 Z) k i7 @/ {6 Q% o3 k; |4 t; u8 T, Q* T
RGB[0]=parseInt(tempArray[0]);
6 [ T# J4 N' n* I; o6 k# r RGB[1]=parseInt(tempArray[1]);
) X1 E+ r4 t& T8 ^ RGB[2]=parseInt(tempArray[2]);6 q- o, O' S& d
7 e8 ~0 N% `/ C0 @# D/ }, J return RGB;- y A% I. I3 Y; X
}
6 @# ?4 x# D4 e8 }function keys(evt) ( V X5 r+ L8 s! r5 Z; j
{ ) C3 ?" m" @9 v6 N v
if(evt.ctrlKey && evt.keyCode=="81")
; z! P e0 H& R5 ~ { 6 b9 Y$ z! W8 M) [
CleanHideObj.on(0,1);: G8 w9 c* o% M8 ^1 s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 Y( M, `, b2 [ $ y- p6 D' ^- B, W2 L/ v6 r2 b0 V
} 1 d" D3 G7 d1 @3 c$ p; J
} $ g* i- A- b6 e2 R" J0 ^: G
document.addEventListener('keydown', keys, false); 2 `6 m0 C0 Z4 Y. V
GM_registerMenuCommand ('Clean Hide',
- T- U _, m1 a$ Mfunction(e){
' U# o& q3 \8 f r5 E6 |CleanHideObj.on(0,1)
, ^$ j4 p$ x- t8 Ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: g8 Q" r" W+ Q0 @7 Y- h});
3 ~- {' b: k+ J# x& M/ U |
评分
-
查看全部评分
|