|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ b, `% `2 ^2 I& z6 L% E
( n4 R( L7 O# `. K1 }! P
火狐插件,用猴子
' b/ O5 H( ?- j ?) R+ x" ~' k, B q: y6 n$ Z5 l! B: u
var debug=false; & g$ c) p& |! T0 ]# W1 W
var CleanHideObj=new CleanHideClass();
1 J- \# f. H" e0 k; c- r0 \& l' |3 _, r: n
function CleanHideClass()
# q4 S% A2 M' T5 H$ w9 K{
5 X& i5 Z# [% H2 p6 z L* n+ Y
9 w3 Y0 _2 v0 `" B this.on=function(id,bMZ)
+ X) d U0 X- s! z* m6 f: H: M. Z8 Z {
|) Q7 I6 S8 E. D' Q- P 5 o! e5 c$ k8 i$ c- k m. ]
if(id == 0)
( }$ y9 g/ T8 Z1 |, i ~8 S9 g {4 X; A/ M, C& G* Z
var page=/* document.getElementById("content").contentDocument */document; 5 l7 h) s6 s0 m7 e I, T
this.RemoveHide(page,"span");
9 @3 O. O) v. ?% v! l this.RemoveHide(page,"font");
2 H* m% L1 |, W this.RemoveHide(page,"div");0 D2 ^5 @ d; V Z; Q) J
this.RemoveHide(page,"p");, h; _3 K! h" l L' R* k
$ K# N- B! u1 W: O m5 D& T
}2 `/ X7 O- d# h- Y: [2 o! |2 b
4 |' A9 T! o2 W1 C8 S }
& @' {2 r ?& P* Z" s this.getobjstyle=function(node,prop)
; o' d# x2 g: z {
# o% e7 b( c5 a try% s2 R4 o( u% i$ S; s; F2 `
{9 k7 r/ ?3 d- W. e' ^; n4 M
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ m7 i, }% F4 T x }: g( g) e$ c S# U, j4 ]
catch(e)) D: [1 s" P! L4 F1 l2 I
{
5 `6 d6 i; s5 G9 t# ^ if(debug)
- V9 }3 F, ]! K" Y% h w+ q. j- O {
/ d& u5 r3 E' O alert(e.message);
% w* [- w- s7 X6 x, | }
, t+ E) b- e: P7 n" f# A
$ r! o# t# G- r- Z! k& r8 h% p return "200";
, I3 k8 t o7 f6 M5 F7 c }
& m! S0 s. Y0 P# e& f: T: | }
! p! T/ t1 |% v/ O! z
$ g6 m8 \. \* f; e. O2 g3 M; S, ? this.RemoveHide=function(page,objname), R, ]4 k. ?; _- I X! Y
{
8 V& D5 B1 u. p6 @9 E try
! _9 g/ E3 H4 R: {# p* d {. h7 O5 ?( f8 D7 `5 p- c
var minValue=15;/ ]+ s w1 U1 }: d5 J- [$ s
var objs=page.getElementsByTagName(objname);
6 x$ E" Z3 U# E7 F7 G
. [$ v# p \4 h0 d% }) I/ F, N if(objs.length == 0)
! l9 K7 ]# W" N {
, k- g9 Z' T: z: G8 A if(debug)
3 d4 }! H1 O6 X" W$ o' B/ [ {" q) L! ^4 h7 l* r0 D, _. o
alert("no object found!:"+objname);( f/ F; D1 U4 c9 ^. s
}3 {8 [& n* R" s8 L5 b
}
0 S \- _ _* { else+ T0 x& i9 L/ v @0 o4 R3 T
{; u2 f! S) _" A/ S! Y
% b, j2 b; l# w
for(var i=objs.length-1;i>=0;i--) & T) {$ O1 r% U( O/ u3 E
{
1 K& f! M5 \$ U. n var node=objs.item(i);
" h) H0 |. |0 Z4 m % d8 M7 V: g3 g9 p9 f n
' Y9 V& \# v/ F9 M& m" S; a& O' H
if(this.getobjstyle(node,"display") == "none" ||+ `) \; ?: ]. F8 S
this.getobjstyle(node,"visibility") =="hidden" ||
9 k- m+ o, c) d, S" T% ? parseInt(this.getobjstyle(node,"font-size")) == 0)
8 A0 U# o1 T! L {
9 \. ~3 c$ x$ \ if(debug)7 B0 b+ ?7 x j4 a; n1 k
{
* _9 Y7 b* E' q% |) | alert("remove invisiable!");. {3 Z' c: s% y7 V
}
6 }6 n3 g' L7 [3 Q node.parentNode.removeChild(node);
) q$ G1 {+ Z( c' E ' T- Q( k- _% T
}
- p* o/ D+ y: h2 Q" K+ a else 9 G9 e# F) N/ k5 h% }) f0 m
{; H* S, B& n+ G6 ~( p# `
if(node.parentNode) 9 A8 f J, Z$ Z: X5 C3 M
{; ~0 K& K4 w8 h' `) f2 D- G/ b
var orgNode=node;
9 K# d) @% E+ ]. f, M5 p var orgColor=this.getobjstyle(orgNode,"color") w! ^5 S4 G8 K* u& P
var orgRGB=getRGB(orgColor); 1 h3 k( a* n o! Q
, T' U" a9 y- p3 X9 j. W+ M8 t. G var parentNode=node.parentNode
# H- p9 l. e$ n/ k# A6 U var parentBgColor=this.getobjstyle(parentNode,"background-color");
- d; M/ n, ~, ^5 Y! ~' l( T: i) z
1 a: M6 \! G- T7 ]; `# J" w var isLast=false;
5 C; M. F# F7 e7 l( ^4 e8 o3 Y5 \ Q1 r: L/ _1 I1 Z+ m5 A; V
while(parentBgColor == "transparent")
2 C: z4 l/ a; d# {$ C3 O# Z {
% m4 `& G- F- R) |/ {* l ! j* T+ E+ S' `7 F2 p1 L
, u7 u( R8 Z4 {5 Y% q Y
if(parentNode.parentNode == null)5 w1 w. A$ d W* g9 \2 h! Q
{( D8 C6 |. w, K* }6 O
isLast=true;5 X0 u" e* l% s9 T7 Q+ t
break;$ s% G! G6 Y7 Q/ Y# Y
}
4 S: ~( p: e; v$ f% z2 Y0 ^ parentNode=parentNode.parentNode;# `' K, b- P3 M2 l8 i- Y
parentBgColor=this.getobjstyle(parentNode,"background-color");# `/ |1 Z5 ^. x
X7 m. h: j7 B2 y* ^ K
if(parentBgColor != "transparent") 5 d; D$ O0 k6 U4 n( F
{
: a% s: e0 m- X9 U1 {2 \! g' e break;
: H! Q% v. t4 K7 o, P4 ` }5 M! Z7 g! v, f- v( j
}
7 T" u4 s; o# d2 s if(isLast)
/ N1 K1 ]5 D* N- p {3 e+ d0 _8 E+ N7 a) S, I/ H
if(debug)7 l% `1 F% t6 g
{) j7 a/ J! V I
alert("last!!");
+ r% C' F7 j8 @ }0 m5 ~+ E$ ?% c# Q
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
U! E" f4 g k1 l. K {6 m+ R! c* I( O; Q# o
orgNode.parentNode.removeChild(orgNode);
/ k+ {5 f+ Q6 _. T, U1 ~! [8 T }
. D9 p# q3 M g7 d9 X' |+ ~3 U/ D }8 M" d& K5 G, |5 m( o: u/ t
else) J- Z+ S8 N1 J
{/ O- p/ {5 }0 f* ~/ K \2 m8 z; y
if(debug): N3 w, @, q# O: x ]; N5 o* g
{3 |5 }- I' N/ _
alert("compare color and parent bgcolor!");
' `( ]) e5 |2 Z9 G' D% j }& D2 A' ?& Y6 n+ S: ?1 _4 _( M5 p
parentBgRGB=getRGB(parentBgColor);6 R, a- D- S3 A% ]2 @1 T1 F
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ X. G3 X1 X- @" ^
{
( m& U- Y. L" l, w% h orgNode.parentNode.removeChild(orgNode);
) {1 n2 X' W5 ?6 W5 b9 `$ [; v) x }5 V W0 ?6 ? U7 J, Z7 Y
}
. A) A) b+ d: b }$ J0 j0 Y' g3 m3 M9 T/ p
}
. ]) L2 s" D. T8 O; m$ \ }
/ }: K) l+ R; [1 W0 d) g }
. b. a6 K/ k6 _1 g4 I& h4 J( Q
0 J" \9 Z( O* p+ d! Z: F! S
+ t. | F+ V& |3 `, k var itemFrames = page.getElementsByTagName("frame");
- X" a. w& M# c# l2 K4 J) N var itemiFrames = page.getElementsByTagName("iframe");/ s7 I/ h: z% R
8 k! q: Y" i; E7 o var frame, iframe;
. y. [; J# J; n. v2 J$ u if (itemFrames.length > 0)
' h7 B) |' ~. t {
& {$ ~! m5 l* q) K for (var i = 0 ; i< itemFrames.length ; i++) + F# Q. [8 d5 W- [
{- x! [- k& ^$ {1 k
frame = itemFrames.contentDocument;
/ V5 x# f+ z R6 D0 ^ this.RemoveHide(frame,objname); + x! _7 R3 G5 O1 @: u' m
}& X+ q8 z0 F" f2 k: ~; V
}
( b2 z9 {- N, `7 [7 G if (itemiFrames.length > 0)
7 w6 e) I0 Z. v {
( ^; }5 e% i& K% T for (var i = 0 ; i < itemiFrames.length ; i++)
7 q4 i& P+ D! g; L {
& ?# m7 K" e- X/ ]+ c7 `* j iframe = itemiFrames.contentDocument;9 b* D( ]& H& E( U0 f# U3 n8 I3 x
this.RemoveHide(iframe,objname);
. k7 Z1 {- b5 p7 [, b }
! k5 T' U: y; x7 }, u9 ?- | }
+ \: X8 x5 v d! h }- u5 L3 U. }" i+ K2 w- |3 K7 r
catch(e)
1 V! ]7 ?0 K, G+ v {
F( ]- Y6 E* p9 |' Q if(debug)
3 V/ U1 R3 Z/ T2 ~( N {( s: [1 ?5 |1 \" G
alert(e.message);
+ B7 Z0 q3 O* c) q/ V }
( R5 ~' p- a) t8 s' l4 Q }
$ b2 \ |5 {" S G: g9 }$ r5 { }
$ Y$ a7 ]4 g/ ?! i& A5 K 3 W( A1 U h! }4 g# L
}
. R2 N0 m. o- r+ _
( `5 [* ~: C4 Rfunction getRGB(colorString)
% f+ g6 C' V& D: E{
" n9 k6 X/ f; @2 N+ R/ `, n var RGB = new Array;
3 j: D! d( r3 e var tempSting=colorString.substring(4,colorString.length-1);
% G/ L5 G' ~& X$ y* }$ H# F1 ~ var tempArray=tempSting.split(",");: ^; C' V# u7 Q3 ?; K
2 |+ U/ o2 ]) O# ?: X0 V7 U# z# m RGB[0]=parseInt(tempArray[0]);- W' E' p( F X+ q V
RGB[1]=parseInt(tempArray[1]);4 M* E$ D) d. Z4 ~9 [. O- s
RGB[2]=parseInt(tempArray[2]);6 `( K8 e; x- n2 L
; W% Y4 ^4 N" W% F5 p; ]7 I2 C+ V+ I9 }
return RGB;/ S6 c( X0 }) K% }* a
}" I0 X' Q! }/ ]. |$ h" j
function keys(evt)
4 k/ c I& y1 A2 q5 m% S {
, V5 y! {/ j/ s/ N- A if(evt.ctrlKey && evt.keyCode=="81") 1 u+ s, X; P0 c+ x2 \1 R& d
{
, q6 o7 |+ r+ U% K CleanHideObj.on(0,1);
/ {" Q+ X/ C& V0 M. W# H alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 W8 ]( b; [: s- a) s" [
5 N# n$ S- T2 q; i% B4 {" C1 ? } 2 C/ \( ]# z; Z" H" G$ z" K
}
8 B: _7 y! W1 Edocument.addEventListener('keydown', keys, false); 4 `, l3 \% e% c0 x
GM_registerMenuCommand ('Clean Hide',
5 \+ [6 M' h) E: I l Mfunction(e){# ?- |; d$ \: a& w; G
CleanHideObj.on(0,1)
" j6 \' U" a0 Z* C6 p5 ialert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 R& i' E9 f3 m6 {8 q0 v) W0 _});
Z3 S0 E* R. Y* _* l |
评分
-
查看全部评分
|