|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! f C* C, s3 H
" M1 v# G4 ^% \+ S; z" h
火狐插件,用猴子
8 Q/ v# n. j+ V% w: A" u' n3 B: d- D4 Q( G& g, {" g' c( D! ?+ b. a
var debug=false; 7 L+ c4 u3 Q2 A- H( N3 k: t, U3 u
var CleanHideObj=new CleanHideClass();
7 E2 l N. h- b D1 `9 u/ A
/ Q' j+ L7 ]9 a5 \% m) E1 bfunction CleanHideClass() # g; v. Q% R/ l+ }/ ^ a
{
9 n V- m# k+ U* x3 |1 J I6 y 5 i9 G& d1 I+ b5 K
this.on=function(id,bMZ)0 ^1 i$ w8 Y! \9 C! f2 ?& s
{+ h/ y/ P) l( y4 v, D. k/ D
- a5 f0 u) Y6 f: ^4 ~3 r! r$ p if(id == 0) }& m: ^7 }" E0 n; }
{
3 z$ D5 v5 W" s c* @ var page=/* document.getElementById("content").contentDocument */document; ) I7 h2 ?( Q0 E4 V
this.RemoveHide(page,"span");- Y; O. @" L- N3 Y
this.RemoveHide(page,"font");
, w" [. g5 y# ]7 X/ g this.RemoveHide(page,"div");( @! j3 I. B$ n9 y# b* B2 W
this.RemoveHide(page,"p");
+ I( [7 F8 D( m& i' z0 i( h" P
! f$ u/ r# X8 X: Y* ?2 W }6 T/ h! `6 y% U+ y0 D9 T+ W4 Z
8 s |( I* P. y/ d }
( J; H# [1 o# W& S+ `8 s2 [ this.getobjstyle=function(node,prop)
) K; W# V: |/ a& s {
7 P' t( l8 H$ J3 i' D try
. J. i: \9 M/ J5 C) y {# C* m5 t1 e7 D3 X
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 ~. M& g6 U; x }; }+ S0 a; _" L% @
catch(e)' a! }4 I% {7 {. c3 j- b, r
{
3 K& v: D0 n: ^7 z" l' j1 W* z( f; z if(debug)
( W" b; G0 \0 U8 Q {8 Z* l" i `5 O: T
alert(e.message);0 f6 |0 u$ t2 z+ c
}( V# t4 g+ c, R9 |: n: k6 `
# I& g$ W) y1 Q/ p, p2 j- z. g return "200";
) y0 _3 J6 n8 M9 x' W }. E; M& t' W l4 N2 x" W. @
}, U* I. Z6 X, J; k! U6 J
+ U$ Z7 Q2 M( y
this.RemoveHide=function(page,objname)
% P# G( w: I. N2 B" d4 M4 e5 A) X { H* Y; V- G% A8 }
try
2 c5 B9 ^0 t; v' S8 R {
, Q9 @& v7 p; p% b ~) z! d7 c var minValue=15;1 u' O' F$ {1 j; X, c4 y9 x
var objs=page.getElementsByTagName(objname); * N' ~5 w8 ]4 f" @
6 n' B" W3 s' `5 I# @" ^$ Q; i# t! a
if(objs.length == 0) / X& Z' {# o/ Z8 | Q6 E8 w
{
( ?+ O R+ a: J; {% h- O4 @, L& D if(debug). C% D, E4 n7 v Z9 M1 p) y+ S
{9 o8 E+ i/ y* l2 `' r) |
alert("no object found!:"+objname);7 a1 @4 L _ ^! z
}1 N% G) ?+ c _: `
}$ {" H) v" B, z( c+ K
else, {& x- n# \! ?) L
{
/ P' c* T4 P9 S; t( E) s) Q* s0 X# I; Z # H3 x, [$ p8 w! Z3 L9 e' e& o) e
for(var i=objs.length-1;i>=0;i--) % o0 w; o6 R( d! ]- [: }% I% S
{
2 O; U' @7 I: u var node=objs.item(i); 1 f. [* k- Q$ ^$ }& m: ~, g" D# ~$ j
* F( I" V6 _3 d' j; b5 i; }4 j3 V; ]' \5 l
/ J8 a/ T& ~0 O* i) G; b if(this.getobjstyle(node,"display") == "none" ||
+ B) R7 |0 v, [, ]0 b this.getobjstyle(node,"visibility") =="hidden" ||
, D d/ c+ j' M3 {' {( p# }7 a/ ` parseInt(this.getobjstyle(node,"font-size")) == 0) / p1 h( U/ L6 Y$ R$ l2 v8 w7 K; r
{1 L( E/ S/ ]8 S+ s# y
if(debug)
$ v0 k* V, O( |& ~& S. I! y {
- k1 L: r2 f4 d+ } I alert("remove invisiable!");& H- S, @+ y9 \' x4 @
}; Y1 V+ u8 z# n# @
node.parentNode.removeChild(node);
6 J6 L3 N* G2 S$ K- ?3 L
# S/ J9 [' L+ ~) n% J }% e I4 M# U x" ?6 A3 T
else + s9 v9 U, k3 _* W0 ~. ^
{
7 i7 D/ q; M0 V( r& R if(node.parentNode) # b1 t$ E }2 T/ ^* B3 ?+ m
{
. d% q+ k, @9 x# b, @ var orgNode=node;7 }6 t9 D" | p( Y1 N2 M4 r
var orgColor=this.getobjstyle(orgNode,"color")
. |2 L7 p! U. W9 g var orgRGB=getRGB(orgColor); 7 \, f' ~3 b/ x4 o7 g2 h
+ f' {4 v& ^: ]' Q+ X var parentNode=node.parentNode
% |( |! o* _/ [( G# L var parentBgColor=this.getobjstyle(parentNode,"background-color");
' e# V! {) A" [: v% ?* h7 z
, w& E3 s0 l# t var isLast=false;+ d* U# g+ e1 A, S: @1 B
) b- ]( ~: J/ A8 R% D1 O0 J0 G
while(parentBgColor == "transparent")
& i3 N: x$ n, n, E1 K1 l8 n- ]" [ p {3 _: z* n9 f; @# F
5 z. r3 a8 K) x' Z" W
% X6 P* C$ m. E" S$ s4 A9 B if(parentNode.parentNode == null)
) y0 B" \+ H7 G# Y9 v" f* G {
+ _+ ~; }0 x, @$ U isLast=true;
: e9 R8 t3 G* {5 m% r break;
6 y- C2 |; V+ @" }" t& r! s1 G- ^ }
* P7 h7 G8 Z2 Q% r. z3 p parentNode=parentNode.parentNode;
& `/ a) ?' Z# ^* {2 I7 |. |6 o. p parentBgColor=this.getobjstyle(parentNode,"background-color");
5 e* |- m8 X. q& o# o8 _, F: p& Z2 q! S+ f- n) j6 u( z, l( ]# t) C& _
if(parentBgColor != "transparent") 3 J, Z) X/ Z( m5 x; n5 k, h
{3 K/ K: f- ~# z& Y( |* M1 F3 i
break;# Y3 J; R) f1 e/ Q
}
6 @ ~! a2 `2 ? }* g" q' b% u, ]) a l: I: j
if(isLast) ( O7 Z" P5 r {$ n7 Y r4 [1 g
{) D5 t" d4 c( X D
if(debug)$ C6 i: y2 C7 s
{. Q4 w; ]- O# q! n& h
alert("last!!");
7 a) T' z' [" H& E$ b }- Q8 _/ r, q8 o0 y$ t
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) [' v- h3 u& H
{5 n$ p4 J% r+ F; P/ L
orgNode.parentNode.removeChild(orgNode);
9 U$ Z: T3 H% l* G }( K) s$ a, n$ H
}6 i( F/ a+ E# a& N7 ^
else/ c$ @3 H' b) }
{
" J1 E# n" L9 A4 F5 ~/ M if(debug)5 A; F) u* P& F5 {
{
9 h, T+ m5 t0 ~! B alert("compare color and parent bgcolor!");
' E9 r- c- e+ J+ w/ d: ^ }# S* b6 c* A/ u5 @
parentBgRGB=getRGB(parentBgColor);6 ^7 t( h- P1 J
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 p, e: w5 v) `! @ M( ~/ p5 \
{
8 X: |* L5 |9 g }( `3 @ orgNode.parentNode.removeChild(orgNode); , m/ P# \! O/ D5 X6 t
}
5 \+ ?% ]/ |8 d) h. `8 t7 w0 n }
- E6 a* i$ I' G3 g3 n6 J }
1 F% l9 I& X4 \2 J( l5 d N }
* b4 ?! x1 W" X* M& O }
$ K0 B) ]" i# y& A7 Q3 p% C* r }
" C- O# t; ?8 Y3 v1 Y
' x M- v9 g& u) R2 T% {, V - c; [6 ]9 E1 w% N/ g
var itemFrames = page.getElementsByTagName("frame");
; l3 H$ A8 t J7 x$ a' Y0 h var itemiFrames = page.getElementsByTagName("iframe");5 U6 c2 W. [* C. S' j
& x. T- H# X4 I( k2 c9 |3 X# D2 N5 }6 | var frame, iframe;
- m( M! T8 M8 y if (itemFrames.length > 0)! \, s+ z/ B, q) Q; n9 t
{
. c _1 F6 ]8 J for (var i = 0 ; i< itemFrames.length ; i++)
4 k7 \# o& i3 @$ H! ? {: _0 Y. k. C8 g; |! R' Z( j
frame = itemFrames.contentDocument;/ N+ y. h8 g0 V% a0 L
this.RemoveHide(frame,objname); 9 ?3 x3 j- l; H. b8 g
}
- T: K8 R$ N/ e; w6 H, E/ F }
a5 n7 ^! T U7 l8 I B if (itemiFrames.length > 0)
$ T% a0 r1 j7 @" e& ?9 f" W! E* j9 o {
8 I& u8 [. M# Q" M7 ?- Z% a for (var i = 0 ; i < itemiFrames.length ; i++) . H: P8 U$ ~2 h, @
{- G+ B: {1 Y; [+ C6 [
iframe = itemiFrames.contentDocument;
+ l* w1 b* P' W; t* P this.RemoveHide(iframe,objname); 8 ~, ~ L }6 E3 w2 S2 M
}
5 }7 W% L# d! l+ P) X }' J- V, C- k4 g
}( h% e3 O* u: p
catch(e)) R) {7 m3 |" K8 ^: q% Y* r$ D# K
{- {: C" x# h! {! h) g; \8 m8 f7 @
if(debug)
$ h( H* F; t+ _9 h ^/ l! C$ t4 }7 [9 w {
- S- B& @/ f6 a% z4 k alert(e.message);
8 `1 I: g: [. p9 x- D# F }
C* p' }! a! d. ?/ L }$ V! i( T0 @5 l i6 Z+ ]. d
}+ z6 ?; u# F3 r
7 R6 E2 Z1 O0 S1 W% ~: H% p6 b- C
}
8 z+ C8 s0 t2 E; m$ {+ j$ Y0 W, g
( X% ]7 i! r- e9 K, Jfunction getRGB(colorString)3 y }3 h- b, d* Q
{
( b4 ^* W7 H' N$ ` var RGB = new Array;
0 i: x2 K1 a9 u7 ?# Q, F. E var tempSting=colorString.substring(4,colorString.length-1);" Y1 B3 [4 W1 m# k
var tempArray=tempSting.split(",");- N8 p4 N8 B4 [; q: G" u9 k9 r
# m5 T# Z; X" b Z' H { RGB[0]=parseInt(tempArray[0]);
; V. ?, o9 P/ V( K: S RGB[1]=parseInt(tempArray[1]);
9 |* y. l2 Z" h RGB[2]=parseInt(tempArray[2]);
4 Y/ u) f9 C: h* n) Q+ t& n
- b- [! e1 x# `7 k return RGB;
* y; U. Q! }1 ^5 W2 @' x) }}* K4 n! k- _- M) a. n8 Q
function keys(evt)
: |; d( a4 i+ o: l* G { 2 F. u$ M$ V" r: A
if(evt.ctrlKey && evt.keyCode=="81")
4 _' {6 O/ P& E. Y8 t6 I9 \* u { 2 N2 g/ m% A8 a
CleanHideObj.on(0,1);( G8 e. a6 ?4 U, V
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& ^ | Z) `3 [ n) z7 d % Q/ d7 l2 e7 M S6 W+ b, T; k1 i
} + y1 {6 X8 P2 ?
}
# V$ ~, ?5 U" Y% u# `. F9 ddocument.addEventListener('keydown', keys, false); I5 W) n" K' q0 L" }9 L, ?8 ?
GM_registerMenuCommand ('Clean Hide',* g5 `- p6 P ]: L1 |9 V1 p
function(e){/ b* q e! h/ s7 {8 z8 O
CleanHideObj.on(0,1)8 H/ a. u) _: ~1 q8 Z5 o+ ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 @( ^- t! ?9 Q# m});
8 k( w( W9 M& T; o |
评分
-
查看全部评分
|