|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) K- |$ x, f. n2 z( `
4 C4 \% F G) i2 K. _火狐插件,用猴子8 A3 s: k1 R0 N7 b4 |
' F% H, N# W" ?# k9 nvar debug=false; 3 J6 K! S. ~. b% n8 B
var CleanHideObj=new CleanHideClass();9 I; e3 ~) d% P" Y
( [/ f5 L. ?2 e- o) Gfunction CleanHideClass()
# C$ D, ]8 ?" Y0 ^- `* S7 P0 I{
V5 @4 s. w, L7 Q) A& |; N4 m . m( @7 d& D! G. U6 W
this.on=function(id,bMZ)
Z* ?4 e, e4 {" H {
4 ^; c# M8 e$ E8 X' O; j- i% |8 G
, i" n% m/ W( z4 i+ T4 {" j if(id == 0)
* d) o/ Q* z ` {9 P+ n& k% p0 _, T: ?
var page=/* document.getElementById("content").contentDocument */document; 0 D2 d7 Y: c* b! S0 J3 E
this.RemoveHide(page,"span");
: Y# P% F2 m% B2 p this.RemoveHide(page,"font");$ y$ o: i2 C6 L- |( {" f! [
this.RemoveHide(page,"div");% N* [! T. C/ V& S6 \% J" E
this.RemoveHide(page,"p");8 R) _8 X o5 X) E8 z( k
+ ^. q6 |5 H% P. S" U! ]/ h8 g7 A# {5 ? }7 ?% E( v j" I# T/ l- l7 E& G6 i
( s9 ^/ Q2 H) l# d Y/ h }2 a. P% s4 I* J" j, ]
this.getobjstyle=function(node,prop)" F# y' g! ~5 d$ W0 u* N
{
0 i. w$ N- N& h* o: s1 d try
3 c/ z& C8 k. u2 W9 y! Q2 j" t2 y- B9 t% i {/ q I2 E* L! A: U5 w
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
9 C- A! z$ C. ^2 X( A3 D }/ F& L$ a! p8 ~
catch(e)" o$ G+ v: x T9 B6 Z/ K ?1 q ? U
{, Z6 l7 p! J' C) b
if(debug)* T! p( Y6 o" h1 s+ r: J# r; }
{
& U+ p; F! V* g7 @9 g* G alert(e.message); I3 }) [3 X& F6 y3 G7 N
}
+ D1 H( @' ?; x" s: W, P! ?. [; C
: E8 a+ C L6 l1 u. E. A6 B0 u$ z3 M return "200";
' `$ r% z9 X8 T }- w& x) [9 F" g) g r- O# h, ?0 \7 e
}
- G2 a/ c( L. F1 I" R' [ ) ^9 k3 r* K" \$ a% }$ ]4 n( n
this.RemoveHide=function(page,objname)+ |1 R8 u) Z: f, D
{
8 Q9 {& G# u3 L try
: q, B. w9 J1 w: V: \ {* R% T% n# H* q. i6 v
var minValue=15;
9 T6 p) S2 O' F$ E. V, x8 F var objs=page.getElementsByTagName(objname); : o% v. u9 E) S9 a* Z
) J' x' Q* U. c' h8 v9 ~
if(objs.length == 0) ; S5 _+ A" B1 p% Z
{2 D& I5 O& \$ A Y" q& D
if(debug)
" L4 ~9 O c/ K5 t W7 U0 z! o# x0 Z4 v {9 Q5 V7 [0 G/ n
alert("no object found!:"+objname);; \ x; T# t# _: W
}1 _ F4 A# [+ h( h0 T
}
; k j" E0 `6 C% x: H5 ? else
/ |) `& w+ {0 e2 g8 [% q0 v {/ W& h5 K! f3 G0 s, C
4 C$ M! s' S& F# p$ R for(var i=objs.length-1;i>=0;i--)
3 j) Q' T; l0 w1 j1 `: K6 u- z {9 I1 ]+ }' @& J6 l$ j' J/ H' ?' X
var node=objs.item(i);
/ I: X7 t/ g& ]3 e" e7 y A : I+ q; g: v" O' X8 f- W6 ^* z
: M6 `& g8 k: n/ ]: \1 g8 S if(this.getobjstyle(node,"display") == "none" ||
6 A/ w7 g$ T- H% v+ q! o this.getobjstyle(node,"visibility") =="hidden" ||
' S; T- d7 A- U parseInt(this.getobjstyle(node,"font-size")) == 0) & w+ j6 n7 e. _* |) o0 u
{" ?. b! R2 r$ s1 G6 g' O' `
if(debug)/ o* [: u3 b6 u( C: A
{
4 e' k; s: d. L! e; d1 L alert("remove invisiable!");
c% K. G: A+ h% h$ C }. l8 a9 ~" _' X( K1 I/ B2 ^! \
node.parentNode.removeChild(node);
/ D- v$ Q+ R% Z
& w, F" U7 X% R4 b9 j9 e }$ v# i4 k7 f/ }$ ?0 x
else ; b8 y+ v5 ]; ?6 G. d
{
6 B' y+ m0 b4 i1 H3 R if(node.parentNode) ) P) L; y$ n! K' Z8 f' c2 c# `2 I4 ?
{
* f" c- _( {! ]6 w* S var orgNode=node; w& ^/ D8 |6 b) J" N, l' Z
var orgColor=this.getobjstyle(orgNode,"color")& g0 t( F) {6 n" X
var orgRGB=getRGB(orgColor); 0 I8 n- c( R5 I1 Y
5 n/ M3 x" h$ O+ C; {/ x! s
var parentNode=node.parentNode# g8 M% D# B: F
var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 Z5 D2 H J$ ^. F! X+ I( k7 @ 8 X* b8 E8 ^' X7 i
var isLast=false;+ @3 ]* H6 M' U; Y+ \
0 O r: S1 C- T) u
while(parentBgColor == "transparent") ]& v8 r6 X. o) V
{
) A( X' a; N# `. }5 E. V0 ~1 M
% J. f4 I% c$ z4 m. b
3 e% r- x# P/ a: l$ ?9 t if(parentNode.parentNode == null)
: y" Z# j9 L8 A8 r {, w f% z- |" w* b
isLast=true;
# y1 H% o) D8 X" W! A5 r! s5 a break;0 f5 T8 y9 n6 v) P
}
2 U3 y8 ?* T1 L4 R2 j! }# H6 D parentNode=parentNode.parentNode;+ k6 `) z, F: L0 g8 x
parentBgColor=this.getobjstyle(parentNode,"background-color");
6 m' T* P5 g" D+ M* I- |% M# ~: F3 F8 V- h6 p. t R& e
if(parentBgColor != "transparent")
b& x1 X' t, {) y/ |7 u9 g; @ {
4 c1 K* O% m, b7 E" { break;
- n7 `0 B; h& ] }
* ]$ r h& a3 }1 t }
5 o& e# \8 K4 n$ j5 K0 Y9 F! t if(isLast)
$ ?* e" {6 F4 y5 D+ f: U {
. o% |& o$ e1 X: H7 _0 m9 z if(debug)
1 |7 d& {8 l. b0 d# ~9 Q% j {
% L: r' `6 ]$ U alert("last!!");: ^, ~; H/ t2 s
}6 i3 e8 |/ ]1 @2 Z, s
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
1 J# E6 G8 R: Z0 J+ H, V- V {- p [3 a, Q7 V0 j& ?# [
orgNode.parentNode.removeChild(orgNode);
$ Y& f* m% [! r# x! v7 ? }1 `8 Z; k& i$ A( ~- j1 H( H
}4 e {" Q' X" h, j7 f `0 M
else2 S% h, T9 ?9 G3 X) M! h
{% A) d5 c# D5 C
if(debug)3 U1 \4 w6 ~0 Z& K0 t+ _) p% s
{
4 W U' c0 |3 ?/ l, i# F4 Q alert("compare color and parent bgcolor!");, O. r* Q, O1 D" A( W. X8 g/ V
}
" Z; ^) N: P O' i. k+ u parentBgRGB=getRGB(parentBgColor);
( i' p5 e6 \0 w0 L6 i3 o! Q+ B if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# I/ q d1 W1 S g: `! m( v {9 e* ]* i% E2 Y; z! l
orgNode.parentNode.removeChild(orgNode); ) Z4 d& B) ?6 L, ]
}
4 R' h6 v# B1 Q; r5 ^- e6 X0 I9 V }
/ E" V5 X; ]" t. p }# P6 _* C0 d* J% g
}6 p0 e. V5 a9 K/ {
}; S1 ~5 v( Z2 K* F h( E! v3 P
}6 {0 ^' q3 F% u, d
/ a3 y R; `* f. U
2 d* L7 w" a. D+ @# l: F$ T var itemFrames = page.getElementsByTagName("frame");/ x1 W7 }( @4 }/ [6 Y% _& S5 F6 y
var itemiFrames = page.getElementsByTagName("iframe");1 D* k2 r6 q, j" E! B
1 E1 d. h) L7 ?8 x4 L/ a; a1 {9 K
var frame, iframe;8 s- |) B5 U! N7 U. |: z9 ^
if (itemFrames.length > 0)
% h% M8 }9 y5 W# }* ?# ~ {0 y |, J0 O; k4 j9 f% y: B* \
for (var i = 0 ; i< itemFrames.length ; i++)
: |, l! x) Y% }% W, P0 _7 E {# X0 u T' A) @, A
frame = itemFrames.contentDocument;* Z' V' s. v$ o; b! N1 r
this.RemoveHide(frame,objname); ! {, e0 t5 e+ O) r0 C9 T& { i
}
j: `2 q4 u0 S/ @7 X9 c" F }1 v& {0 V% D" c; a5 T
if (itemiFrames.length > 0)8 r0 R3 A) y( R# l2 d# ~6 d
{. f0 t; L5 }: d5 k8 L- ]/ |
for (var i = 0 ; i < itemiFrames.length ; i++)
# ^$ n# w8 W8 ` {+ y8 R6 p! o v: ]) }8 c% i
iframe = itemiFrames.contentDocument;( i7 `# @' j2 `5 [4 B
this.RemoveHide(iframe,objname); 6 D( p+ K, t: k( E+ ^
}+ \7 r. w+ _; C- ~& T9 f
}9 C9 y p6 r6 e6 f
}( J( D) _. a/ ?+ S" h& X& L
catch(e)
& b0 u7 l* [- [ {+ J6 S' M- Y- u C5 V
if(debug)) p; y4 s! g" C& A/ P
{
; L' g+ z/ v& L/ _7 N alert(e.message);
4 m0 g0 @( |% u% z }) @5 x! m3 J4 G/ L1 b0 t$ L
}( w% D8 M- z: z
}
+ Y; H0 ~4 g3 S- u 5 ^7 o3 q, ~) n1 w% z+ k
}- G7 ]0 P5 z; ` U$ W9 ?. Y; j
$ F/ `/ x. l: _4 ~& Y5 jfunction getRGB(colorString)
) {# N; c! t6 p+ d8 j& N# S* |{
( d* v3 q! h; I var RGB = new Array;
# W, {1 W5 W B- b# e" ^0 { k m var tempSting=colorString.substring(4,colorString.length-1);
# n" {, N: j3 u) S8 v' ? var tempArray=tempSting.split(",");8 }6 L7 n1 s: A
; z+ R1 n0 }3 a- b RGB[0]=parseInt(tempArray[0]);
& L8 J- U1 Y$ X# i! Q- ^ P/ ` RGB[1]=parseInt(tempArray[1]);: @3 T7 i6 F4 ?! j3 H
RGB[2]=parseInt(tempArray[2]);
- ]+ ?7 z# B8 T3 ]2 V5 y
2 D" l9 C* t$ F. G4 K" S return RGB;
' X7 U# a1 ~' \+ X}; G: x. Z1 {" U( Z% \0 ]+ V
function keys(evt) * ^$ w% h1 ~7 e) T- ~
{ % _7 ]7 _- G9 b, n
if(evt.ctrlKey && evt.keyCode=="81") * O5 N- k/ q# ?4 }% L: R' [
{
$ k# y& ]3 z P W2 S CleanHideObj.on(0,1);
0 P' b3 |" a5 ?4 G+ {8 t: F alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 @8 X9 s6 O5 a& _; s0 P; F 0 `. ^: @3 J* f2 N
} ' O5 ]" Q6 A; s; N( o/ r) ^3 g
}
# ^9 q5 Z( S. B l# P- }document.addEventListener('keydown', keys, false); l4 x# z1 E' B( f/ I- `+ U4 A! k
GM_registerMenuCommand ('Clean Hide',
* j7 P# G( j! h; J, E1 Qfunction(e){
' y, ^/ a1 o. m, CCleanHideObj.on(0,1)9 f+ p% G3 ~0 l
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 a* p; u$ n6 I! Q* j/ l: l7 i
});
1 P/ c L3 `% _! @ |
评分
-
查看全部评分
|