|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
! i# P- e4 r4 O6 b
$ m* h* R# g1 w/ [( M* G火狐插件,用猴子
, T5 i3 Q+ v' Q2 i, g7 c; p
: p9 ~9 D0 S4 u( S* \7 Pvar debug=false; % [' h' l3 g$ M! H; G- U. O+ ~
var CleanHideObj=new CleanHideClass();- d8 C0 W. S( [' P
) g; V0 h1 z7 P, Z. c5 U
function CleanHideClass()
1 h" [( E" s& ^4 d- z) B& `: u4 @: {{ / a( C. F' Q0 v* b
0 v9 q# k6 N5 j; h
this.on=function(id,bMZ)
0 O( ` D+ o% a1 b$ v+ ] {2 X9 ^" V) d6 v0 e! A* L- u
1 ~0 [( g) }/ U/ T+ g$ ], c if(id == 0)* `6 y' ^% ~5 L* O5 h9 n
{$ [' j+ a' C) s% l& P
var page=/* document.getElementById("content").contentDocument */document;
2 Z3 A5 f: f" i0 X/ o7 L this.RemoveHide(page,"span");/ w4 \1 ~4 Z T7 L' F
this.RemoveHide(page,"font");
+ L. {" @: b, f% b: l: v/ U" ~ this.RemoveHide(page,"div");! }4 D1 U( ^' \/ \6 R
this.RemoveHide(page,"p");8 {$ k/ a' u9 y3 C* a/ [" U7 U
8 B; \" d" G7 m6 d& t; C }4 S {" ]# J% g4 x8 r; P9 E; x
2 ~, Z4 o- E4 }3 x4 d }
! ~* ~0 ]3 a2 e% P' j, y7 b this.getobjstyle=function(node,prop)3 ^# n. C7 |8 u% R: f: |2 H
{
4 B! h) p+ [% t try' t, @9 U! h: O' n+ G) M
{
+ x: @2 m K/ d5 e1 n7 m. s+ A return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. E# Y# h! E) { }
" q2 _/ v' J0 A3 B ?, I. o catch(e)% M$ g4 m: v4 j8 u
{
1 T9 N5 w3 b9 q* n' a if(debug)" d6 t, X: x6 c
{% `* g: n! v. g1 k) ^; q" F# X
alert(e.message);
& x6 k8 I- F4 ?0 X) B }/ j! \, c. W# R6 I
3 G4 O% ?5 K9 R, \; r
return "200";! g* c+ G! e" a4 Z. g$ C( ^# n) u' C' T5 e
}0 R. F: s+ {. @, }% f6 ~# [
}- b" b" D6 w8 N F+ M: a4 Q' A' p# R+ a9 z
+ \) m5 ?+ R/ T& x1 P& F& L. ]
this.RemoveHide=function(page,objname)
( D1 G# |' L6 u ~ {# W0 ]: a6 \; s
try
8 n8 [, `0 @3 P7 o9 z' N/ H {
- e+ |5 N+ [2 M) [4 p, X0 \ var minValue=15;0 X$ w5 k7 M1 U% K) v2 T# ^' }- P
var objs=page.getElementsByTagName(objname); ' P7 [' J3 u& m- {; K
: H* L" B; H6 O if(objs.length == 0) ) j/ O# ~6 O) Y1 f
{3 k" M; ]1 a/ \; {
if(debug); x9 `. U. M0 y
{
$ |4 ?7 l$ j9 g9 C& U# L alert("no object found!:"+objname);! J- f& {% E( M, x
}
# j' [" a) r, \+ V }
. ~8 b' j! V1 t" a9 _. y" B( } else
* Z$ q' u4 A" j2 d, `) O {
2 |8 r' `! R/ F! @/ t " H9 I. m! a* I; F2 E9 M0 {+ O
for(var i=objs.length-1;i>=0;i--) 8 m5 y, ^/ w, v( u0 F! k
{
9 X" @- Z1 O) m( j var node=objs.item(i);
" R# ?, `, |; W3 ]2 d ! o2 A# I0 [( C P
% G8 E- G8 N! Q
if(this.getobjstyle(node,"display") == "none" ||
" m9 H7 Z% u6 Y }: W; \. e this.getobjstyle(node,"visibility") =="hidden" ||. r& p9 K2 l3 f2 V! k! h4 s
parseInt(this.getobjstyle(node,"font-size")) == 0) + V1 v( \9 h$ E% [5 b3 X
{1 k8 h+ `! A7 K9 f/ i
if(debug)+ z8 o0 g/ y! y" D% w% b! o
{
Y( t; z. x% q) u8 I alert("remove invisiable!");
( F$ V; {" W! U$ W1 F p }
( F) J0 U; P% [$ y9 P C+ j7 I node.parentNode.removeChild(node);
, \$ k; j* Q1 T5 c 3 p6 C+ U% x0 j5 @) {, h
}
! H8 \& ^: u/ l% k* W+ u( O/ K( z else
4 f/ R7 ^/ r9 v% X8 G: m: g {
0 \" s* T) |! Q) @' ? if(node.parentNode)
/ n x7 E- N* P+ e {
4 U. U0 b [: a4 X0 G var orgNode=node;
- i! ?+ X) d$ h var orgColor=this.getobjstyle(orgNode,"color")
' B! E. P3 {% y* D var orgRGB=getRGB(orgColor);
) X( v# U& d) _" \6 f( R& D ; g* ~* Q1 x( ^- p: q
var parentNode=node.parentNode$ Q) E+ H' f: L
var parentBgColor=this.getobjstyle(parentNode,"background-color");
+ v, F* @& S/ j- U/ K5 b: }: p, l 4 t* X$ a* p \$ y- k$ _
var isLast=false;0 S! X, K3 j( K* ^
5 y5 H" z, |+ l1 }' \
while(parentBgColor == "transparent")
) F5 e1 p. F- x1 E) ^ {
% G3 C3 f7 f( }/ g
* j3 ~, B+ R5 K4 N# h- X7 Y% p & A/ f( E }( u$ ?% {8 H0 e2 ^
if(parentNode.parentNode == null)3 p2 X1 r2 Y# b$ x! R+ P' |
{& f, G Q9 ~7 }$ L1 F
isLast=true;% Z; C: a$ m; Y3 X
break;1 p9 Y2 F: b( p5 p F$ W' B
}/ ? _; r9 I* T# k* x! Y( @
parentNode=parentNode.parentNode;
. |7 W( U! H$ e, r4 D( F0 K/ N parentBgColor=this.getobjstyle(parentNode,"background-color");
; p/ X- \0 W2 g' A+ X/ S3 p, h7 Z3 V$ r7 r. o
if(parentBgColor != "transparent")
5 ^7 [$ [% q1 c1 k' B: k0 w {- e* H/ N4 E+ o
break;
( N" n1 C) Q- y: f+ x; L }
) T; ~0 q! p. X, k* l# T' a }; `/ J+ Q2 g# [ U9 x3 y7 C: h
if(isLast)
% m- U$ }6 d2 u {* z1 c* B* V" o3 p* ~( `# T: ?
if(debug)& P& w$ Y4 A' w/ E
{) ]6 ?$ ?; B) }/ ^& ^8 K
alert("last!!");
" h2 Z+ ]# k* a" L% u8 k } X+ w# h9 z/ v' P( M m
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ ~6 f+ `3 N! O+ c {
) a4 H4 I& r3 I1 g/ Y8 F orgNode.parentNode.removeChild(orgNode); / D d2 x8 R c7 Y
}
+ ?8 H- _" @8 G2 U$ ~ }
$ f# \$ ]( @0 |1 g else: _0 ~; e& J& Q7 i/ ~4 d
{
p3 K( k h0 ^' p if(debug)
" D: O9 W4 q4 O- n, r { n" J, Y/ r5 h
alert("compare color and parent bgcolor!");
$ f' I% z: M- Y }
V$ A8 v/ {: ^& e parentBgRGB=getRGB(parentBgColor);( [+ u. p0 V6 F0 y& c
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 t. f" k$ L/ [5 P) k
{
3 Q5 ]: G, r1 I) o' [! J% l orgNode.parentNode.removeChild(orgNode); 4 r/ N8 ~ t6 f, Z0 K) m; M
}
; v0 i- N7 m( p* [3 G }4 @5 s5 @1 i4 U) G7 y7 A
}
$ e' Y4 F; x/ c) \ ~: ?! {2 s }
/ z: b' |! P3 m3 s }
7 F) ?) W" t+ @' L }# j [( t2 T$ P; D
) O* i" S8 ^0 g& r! h; X, ]* t , l# l! W' C1 @) W
var itemFrames = page.getElementsByTagName("frame");
8 t$ j4 v' E* [: b var itemiFrames = page.getElementsByTagName("iframe");
; x5 a( J" N" u y2 n
+ l' k, ~. Q3 I# Q var frame, iframe;
. O$ Y. u: w7 |$ J0 a if (itemFrames.length > 0)
/ x" j* w# {# G {; z9 L/ v/ V% Q" @% c
for (var i = 0 ; i< itemFrames.length ; i++)
" B. [! ]. F/ d: b {: J8 v0 B$ N: v4 E
frame = itemFrames.contentDocument;$ x/ W: b* b! b( e1 t4 K4 R2 L
this.RemoveHide(frame,objname); / l. {1 d4 T3 T& @5 f7 z
}
/ z, @* f$ {5 {' i7 `, Y) q; r }
3 E9 O/ L4 M$ H if (itemiFrames.length > 0)
9 ~8 s E* G% Q {
2 I' T/ C9 z/ v) _2 X- t& @ for (var i = 0 ; i < itemiFrames.length ; i++) 9 a* n: }: q' A# I: F
{
. y- {& u6 e" H( | iframe = itemiFrames.contentDocument;
/ |: u8 ~3 E' p6 V) x this.RemoveHide(iframe,objname); ) r* c- s9 |2 r3 P: k% X& l
}0 y6 f- E! Q d. w2 n1 M; R2 K
}: ^# o" D' W6 K
}& k. r8 Y# l* h/ x0 o: w
catch(e); s, E9 [ h" t1 V
{
! R, m O- S% q$ Y/ A if(debug)
* @' [; o3 A, W0 Y {
: I, k8 N; @' Y/ k. \% ?" |; ~ U, V alert(e.message);; b8 c2 Q8 r/ `6 f4 H9 i
} h( N+ @" z8 z$ g
}
3 a& \. e7 j3 K& L+ G2 x% t$ k }. t$ q; K& n7 w" M: L! Z2 m
. q I. h. S8 N" z7 X
}+ }) ]6 {& b- V8 h5 p+ D1 D6 f
L; y0 Y; v0 [: V9 P
function getRGB(colorString) H# Z2 z8 \; Z8 T. n
{
5 w5 c* [2 i' I ~* D var RGB = new Array;) b% | ^- X" H7 n% {% D. ]4 O
var tempSting=colorString.substring(4,colorString.length-1);
; Y+ z3 ^! v) ?5 m, T var tempArray=tempSting.split(",");+ m9 [; x$ U% H+ O; K, J$ U( v! C
4 Q: Q9 B" t; q RGB[0]=parseInt(tempArray[0]);
) l3 P( N3 Y' }" i, d RGB[1]=parseInt(tempArray[1]);8 X' E( ^- i' A, n3 {
RGB[2]=parseInt(tempArray[2]);
$ }. f; w+ ^4 l e+ h4 y5 u' P0 Z/ G3 N
return RGB;
1 {1 x# f( O: b: ^$ A2 \6 \- _}
* K) B/ S8 A& d' Pfunction keys(evt)
; `( k o1 x4 Z$ Q0 ~. ] {
( v/ j+ c4 [- k5 f y9 V1 b if(evt.ctrlKey && evt.keyCode=="81") / H3 ^" q3 A; t0 t) x
{
- @3 a0 g* u! k3 M6 y% ^1 Z CleanHideObj.on(0,1);* `4 G, x. W' m$ e: \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 8 Z3 w0 c+ l* p- H' j2 z& A
! \7 M9 T- Q4 T: l } & b; v8 j: v& e3 _0 v$ H
} . E a3 v+ a/ p
document.addEventListener('keydown', keys, false); 7 S5 L" o0 k8 h% W4 F
GM_registerMenuCommand ('Clean Hide',5 W& c; p2 j( }: q0 m; n
function(e){7 }- N0 {& O) p" c4 v3 i
CleanHideObj.on(0,1)4 E' `% g8 a: n/ I) P$ e. E% ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 E* ]6 l. ~% W5 e$ D/ f. [1 F. a});
0 W; K# u) @1 g6 H! g' n |
评分
-
查看全部评分
|