|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
! Q0 Q+ H- a# d0 h8 f
; _# w! v) a0 T* t# `. K火狐插件,用猴子
1 d7 w( D$ i2 h {, A5 Z2 M7 R& b! R: a) w3 { w! v C
var debug=false; 9 O! R( z( {6 g6 @
var CleanHideObj=new CleanHideClass();
( [8 a1 v ]$ Q9 T' Q2 p/ _% T/ h% m2 T$ C# d( \# h
function CleanHideClass()
+ e) T; e. _6 d8 Q6 s( E{ 5 L0 S; r. P1 B6 G4 F
3 ^7 Z; t' i1 z$ u: D this.on=function(id,bMZ)
: n. K9 q, Y, k* B( l- X {
& a! T( w( T7 C+ x
: |4 C5 Q# @. u( |" g if(id == 0)
+ Q1 {( z9 z" b3 `5 K {
3 r! S O% J6 z" e3 J var page=/* document.getElementById("content").contentDocument */document; 3 u, S- D1 q9 q5 _; }/ N7 _
this.RemoveHide(page,"span");' L! W" q2 h. B3 u+ `) D; f
this.RemoveHide(page,"font");* D( @3 G, v! N3 N
this.RemoveHide(page,"div");$ K" H9 W4 }! o) _
this.RemoveHide(page,"p");
9 d' ]7 C$ I" D4 @
8 a( ?8 S3 ~( d }" g- D o# V$ e0 T8 ?
1 Z3 M- V; ]0 `+ C }. x5 y! V* m% d; B
this.getobjstyle=function(node,prop)
Q/ o0 ]* x8 @, q {7 R* X D3 `5 b6 T/ @
try
: B9 ]( |$ y/ \; Y7 D# v {) E" V V2 _. u# o0 ^
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. y5 M, o$ F" o9 ], ~' ^ }
' Y7 i+ o6 @! P+ }" H2 w9 [ catch(e), M1 ?) [4 j8 p t. w" r% \. i$ ~
{& m' q* P( g4 A9 | T
if(debug); x5 M6 _) s! u6 o/ X- _' K" Y
{
2 `! [7 ^' |' [3 y alert(e.message);3 E9 s! R6 @3 o d e7 h8 r X
}
0 y. z+ ^! z- H" w: c
/ F7 ]& x+ Z3 r- T$ } |% { return "200";
' M5 z+ ~4 G# q }
: B0 W1 {6 M9 `9 {0 V8 ?! q5 p }1 d. ?$ c g9 \. Y( b
1 l1 A c7 \/ L; S
this.RemoveHide=function(page,objname)
0 D+ K0 G% u; u& p {0 e. U R* b: Z+ h; H- y7 w7 _
try
& j. h9 e' ~$ o2 z4 o! k3 f; ~/ n {
. P, h/ b; O- X% O @ var minValue=15;4 m9 r- ~% Y; h# q7 q; {0 A' A
var objs=page.getElementsByTagName(objname);
& j6 R# k) ]4 O: p9 U2 Z4 E, [4 P
% ~; w+ ] s) O$ i! D* g3 ~* c/ { if(objs.length == 0)
% \& G4 H: K, T2 ]4 x; Z, L {
/ H. A, z0 _! X0 W. P- \ if(debug)" h% s5 v* J; O/ w* D
{4 U% o( G3 t* H2 l% J8 ^3 e
alert("no object found!:"+objname);( u; Z, Y3 b+ ~3 d3 X
}
5 \" i9 H% T( H0 Z& W; Y }" A8 d! ~6 L0 D
else( S. k ^, R0 c2 ~- D3 |
{) B6 k2 T( n, }, ]! q9 D! f% R
* r+ d3 p9 [3 v' z/ E- S J
for(var i=objs.length-1;i>=0;i--)
# ]7 g4 q- ? T+ \2 K A/ [ {
" H8 G8 [% B& S( \/ h var node=objs.item(i);
& W6 {. L6 X+ `: I4 f. U* d
4 a l% j% ^1 X: P+ N1 e7 Y
' ~- Y$ l- L' u, a if(this.getobjstyle(node,"display") == "none" ||
4 T. \$ w- u( M1 }, T this.getobjstyle(node,"visibility") =="hidden" ||
; D% P3 I" \! D* [# O* N( c parseInt(this.getobjstyle(node,"font-size")) == 0)
6 ~/ ?% s" ]" q* W' j {' u3 C5 D5 v' N) G
if(debug)
& i0 | w& ^ F- x {" ]& p4 w. a* \! P8 {: i! {
alert("remove invisiable!");" |5 L6 {/ D- F) J
}
( f, |- W8 G' J4 K& ` node.parentNode.removeChild(node);
; s# j9 U" g0 U; e% v
& P/ L) I @, m; g) Y) Q( G }; i: V9 z/ Z0 Q- x1 C2 B
else
( k' d! }+ h# i, t2 r( p5 Z9 \2 R8 t {& R! t+ K+ @. a3 f: [
if(node.parentNode) * M' {' F; Z- i( ^5 R) d
{5 W3 J+ q( r2 T( H, L
var orgNode=node;% y/ I# N( H3 g4 W
var orgColor=this.getobjstyle(orgNode,"color")& O# Q* O& J: `: X' O% i9 f
var orgRGB=getRGB(orgColor); 1 E% t( v4 P2 E9 \* i5 l/ H
( c4 t: ?/ Y1 {5 ~- { var parentNode=node.parentNode7 o& `& }( [# K0 Z3 ?/ ]
var parentBgColor=this.getobjstyle(parentNode,"background-color");$ j' h# u/ [2 J: C K! t
( D7 h+ @$ o) w4 F+ L/ n+ n0 ~3 M
var isLast=false;# I. U! n% f5 \
; \, n0 Y9 ?1 K G( D6 X7 c
while(parentBgColor == "transparent") 8 o, ]5 u4 w+ p# ?& A9 a8 Y
{
' c$ _4 v7 [1 L4 d" Z, ?
4 g7 H' {6 H4 ?1 ^ ( m N7 n, s1 I9 A
if(parentNode.parentNode == null)
- W. @6 v5 r5 i {
; i' T4 X3 ?7 x# e4 w isLast=true; Q C) Y9 f- w1 A- @' z) N4 f
break;
$ k7 Z1 S1 M8 ~2 M6 f; _- } }- r5 c6 x5 n; f0 M. s
parentNode=parentNode.parentNode;
4 g$ S9 e! d% `* i) W0 E5 ^4 h parentBgColor=this.getobjstyle(parentNode,"background-color");& i( V8 l( ^3 d" L6 k6 ~' o
: {1 d7 \0 Z* j% N- d5 P& e
if(parentBgColor != "transparent")
0 ~6 T" J# J% D, T" _ {
6 [* h% J" u( \# c+ {/ O9 K$ m1 f break;- f9 M/ z; [% @2 ~' ^
}
" a3 w! n8 d; L7 G/ u: h }
' T B+ g1 e3 n' A) X; _( Y if(isLast) " I# \' p0 x3 n: y
{
% \7 L/ ~; Z3 l8 v5 d k0 V if(debug)
* c6 a+ D. U! T) K2 [0 u3 ] {) D6 i3 L* y% v9 z! E
alert("last!!");
: q/ y9 X& d! i }
$ \/ V3 t2 K/ h6 u8 S: V% g' h" j; T if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& i+ B- n: T& B% V2 D1 }3 L# [ {( ^2 H5 b; l* U+ w
orgNode.parentNode.removeChild(orgNode); . G, b0 P/ f$ z% J
}$ `" {' o! X# \4 B) i9 D
}$ Q9 z, w8 _, E9 l7 l
else4 x' u: R3 `6 y9 s6 p, `" U
{+ [* |; b4 `; G, u
if(debug)
- W7 @8 w6 o" j9 n5 | s1 q {
5 h# x8 Q* \0 [. K: P2 G- E5 \ alert("compare color and parent bgcolor!");
% @" T* r& E' ^+ O, i& ?# m }
% C9 m$ T5 {% s3 u+ o5 j9 w1 Z parentBgRGB=getRGB(parentBgColor);
6 e9 C# f6 \: ]: R if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# n2 n; c* l& L a/ f {
6 S$ F2 x7 A5 S6 U orgNode.parentNode.removeChild(orgNode); ' @- Q' d$ v% ?5 K3 V- z
}6 ]% @& ~7 N1 p! ], _
}# T9 W/ T8 L' ]; B
}& n- ~4 d5 \: }8 J
}
( I: C/ h, r2 ]4 X( M/ [8 W }9 @) ^% Q" H# g2 ]. y
}5 D) z% }% m2 V) u7 {2 Q0 C
5 m! u, c4 a. K% ]1 r0 E
8 Y; n6 p! I0 Y
var itemFrames = page.getElementsByTagName("frame");
: p; T* u+ O- ?& R7 J var itemiFrames = page.getElementsByTagName("iframe");0 ]6 l( _7 F7 `% Z& N% [
! E U2 O0 ~. c3 C9 O+ Q var frame, iframe;
/ r* T0 b2 h: j. C5 ` if (itemFrames.length > 0)$ s. [& S, T! ?; N/ U9 [. Y
{
; s Y( J6 e( B for (var i = 0 ; i< itemFrames.length ; i++) / \8 Y* _/ F$ ^, T: x2 _' ?; L
{
* z O7 W1 I8 X2 T3 p3 {9 m frame = itemFrames.contentDocument;
/ i }4 X, b, O5 R2 Y V* r* Z2 a this.RemoveHide(frame,objname);
) L* {) b' J/ A6 L }
, U$ a' Z( e7 o0 ^# d' f y } I1 R7 e- F# w
if (itemiFrames.length > 0): l/ M! v$ s' H$ b, k
{! t& ?9 X. ]+ T7 S, O
for (var i = 0 ; i < itemiFrames.length ; i++) - G/ L6 _( O( q! N
{# n& b3 T% O; Z1 Q7 F: C" W
iframe = itemiFrames.contentDocument;+ [' O+ l4 W; m- G" [0 E& U
this.RemoveHide(iframe,objname); " S! Q& P- G8 b, o: D) r2 Q
}9 ^" v3 j! V6 Y. F+ Z( w E
}
0 z# r7 R: o+ F9 A3 f8 b }8 G( t! r# z' a$ @
catch(e)8 t0 B7 O) L" B! ] v6 j) Z! A
{
$ \. s# d2 U& ]2 n( t- A- A4 l if(debug)
5 J- ?1 F+ p' y8 h) _ {- _+ h+ g: {4 |
alert(e.message);
% x+ h; B. T" ]+ J# c+ R }
' s0 p/ s6 [7 p1 y# _ }
. B( B( S0 I. }' }6 E }
: ~ g l1 z8 G- f# r2 _
# K* ?1 ]* w$ t$ t" D}: e8 v0 ]- {. `
9 f% o( m. X7 n
function getRGB(colorString)* }8 w3 J. ]9 o
{+ z& X) E2 |, P
var RGB = new Array;
~6 n( d2 M: }# `! |8 N: X var tempSting=colorString.substring(4,colorString.length-1);$ L" M2 g" D; g" f6 r7 }' D5 x
var tempArray=tempSting.split(",");9 q- C3 N+ |- N! g- a
1 m: `( ~3 f7 m
RGB[0]=parseInt(tempArray[0]);
: Q f& l% r1 v O1 Q RGB[1]=parseInt(tempArray[1]);
' U, e7 P, n$ [- r7 S# l RGB[2]=parseInt(tempArray[2]);5 t( V' J" T4 Y' Z' U7 @1 m
+ Q5 R1 |$ \0 k return RGB;6 Q5 k! \$ v( W; o. k5 v# M
}
) V4 D! e9 W# Z- z+ Wfunction keys(evt)
4 ]7 k, ]8 M4 q5 W8 `5 Z {
* T) N- K% h+ c$ J! ^ if(evt.ctrlKey && evt.keyCode=="81")
+ }, F5 w* V3 G; Y( I { $ C0 J' E( |2 ^" X
CleanHideObj.on(0,1);
, X) Y* ^' p( d6 ?6 F alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ S- ~- _$ Z& P$ }% E( B0 F
: T7 l% }) o" H# e } ! r* h8 k* z- F7 {
} 6 L+ q& t+ w* Q& @
document.addEventListener('keydown', keys, false); 1 a/ k$ T: I; p n4 n
GM_registerMenuCommand ('Clean Hide',
9 a4 N* Z' H( |+ `# o3 C0 o" ffunction(e){2 m: o, h! [5 d& k/ d
CleanHideObj.on(0,1)
7 k6 A& f% Z. j& Z1 xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! q4 H, t8 z* Y' c& F% B, J$ ^});
0 c G- N3 v0 w5 ?. X& U \9 G m |
评分
-
查看全部评分
|