|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 {# u ^4 ^# @3 H8 ~' ~, a
8 c# |0 }. C) L火狐插件,用猴子
& u! R6 w9 C7 V4 F: u* i' L" o* e* T( d/ A. {0 O
var debug=false; 2 H- C2 H! E; V) G2 O4 j
var CleanHideObj=new CleanHideClass();
. t; T9 z9 G- X* q8 ?1 q8 [
: {- b$ q0 o+ _) M Tfunction CleanHideClass() # x5 x) u7 s3 K6 w. P: a5 j& k" w
{ , {' m" I- C# _4 s1 E ~& i
. v: t# O/ t( E/ ~* Q3 z* [
this.on=function(id,bMZ)
" y/ M: X3 f( D {) W5 ~9 _1 G( R+ o6 E
7 P6 {; B- Y) ~4 j
if(id == 0)7 _9 G# _' o5 n: I5 z! p L
{! O; U5 N' {% w& L( [) Z
var page=/* document.getElementById("content").contentDocument */document;
l, o; d7 ]2 O) ]3 _" R" P this.RemoveHide(page,"span");1 V0 h6 |1 d( E& _$ t. f
this.RemoveHide(page,"font");$ W2 b- _ w8 | y$ q5 q
this.RemoveHide(page,"div");2 E \0 N8 {' g' S7 g
this.RemoveHide(page,"p");
9 y1 L5 G, l% T; v5 [
3 t8 S! l' b8 T0 r1 U6 A }
9 \. ?3 B# p' M1 R2 p2 B
# E4 c6 U3 T* P6 | }) U: [& k/ C; w' n
this.getobjstyle=function(node,prop)$ V/ M6 T" T* _: y% M$ {; K+ b
{, T& h% o3 ^3 D% P: ^
try
, z8 X. l" s* o+ q {; F1 u& N* ^* x% f+ _/ ~# d
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 N6 |% T* {% R" C( A) t! I% N" v }3 U9 \+ N( p6 p8 Y k W
catch(e) C! f& E6 z+ O# b
{
% f; E+ t/ e3 H$ E# D4 J if(debug)$ U$ j. G8 G+ f& b# F: _2 W
{6 Q% p/ u9 M' w
alert(e.message);
& s" g) q8 l7 X9 Z. f: t }
. A* C& T4 F1 B+ R' m. N+ Q
( x' P" S$ d* w return "200";
7 s0 `9 o6 I6 [ }
& s; H0 F9 k* {: ^+ p( G }
; J7 H; v% m: K9 V" _3 N: _ u }- p
9 ^" i; r$ \' C$ B this.RemoveHide=function(page,objname)
! d: j' D7 Z; |) @ {
! v. s5 {7 K$ \/ y try: W+ H) Y; x: u' n4 e6 C: _7 ]
{
9 k! X. w5 ^' Q% L- N( E var minValue=15;/ _: s: f# H) g, h: @3 G9 G S
var objs=page.getElementsByTagName(objname); 5 Z$ [/ S. A8 C
; _# o |+ |+ P' a. H
if(objs.length == 0)
% M- Y* P& p, B7 \ {. p4 p3 \4 o$ D' I2 I
if(debug)+ y( O" b, B1 s/ n1 G8 N3 l2 [
{
9 |5 O) E! s. |; W alert("no object found!:"+objname);1 [6 y+ c0 c. { f
}/ j5 A. x; j1 @2 C# L4 [
}
4 a2 Z& ^3 B/ s1 k* } l, M: s else
3 V3 H) w" U4 t0 \8 D5 N {
$ }2 a3 y! n/ ?, w. | - M o* v) ^. A
for(var i=objs.length-1;i>=0;i--) . z0 @& M7 Q* O
{- b4 j1 [1 ]0 e. ?$ X; i( z5 u* V( Z
var node=objs.item(i);
3 [/ A8 y3 z8 p: u) R. f
. E$ K- |% T; N) C' y) J9 @$ q 0 A0 m$ ^. G! w6 l
if(this.getobjstyle(node,"display") == "none" ||1 m& K% m, s3 T% B) w, D8 K
this.getobjstyle(node,"visibility") =="hidden" ||
+ R, W. ]: s; E parseInt(this.getobjstyle(node,"font-size")) == 0) - C& O) I# J9 i
{
- i# `5 ?% c5 [8 s if(debug)+ x6 I8 e+ g4 p4 h. {
{
. ? ^" c" `: M. C( @ W alert("remove invisiable!");2 T' [, @) Q! K* o3 b0 S
}( i; S. d+ K/ T
node.parentNode.removeChild(node);/ i# ^: a' E# o% c9 @4 ?9 h+ Z
# c9 J7 J7 b8 }+ X0 j: \
}
8 z+ W2 t. v& G0 W. ^: g else
1 g; c/ B' C# s$ K& l, I {
5 T& Y8 g1 T- }% E% B5 e5 c if(node.parentNode) # A( D/ d: d5 W' G$ Q
{
2 k1 p7 ]' h0 c1 X% s' {, N var orgNode=node;
7 | z1 } \* Q( [5 G* I, n var orgColor=this.getobjstyle(orgNode,"color")
7 \( S4 e4 C2 z+ A var orgRGB=getRGB(orgColor);
8 K" f" e7 U7 `' j
( F# A3 y8 d. {0 ?' i5 u var parentNode=node.parentNode
T+ @8 S+ |8 p3 [, y var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 O8 K1 ]9 Z6 R$ H( M / S- X& H. X. q5 y% @
var isLast=false;' x- I# |- f' R8 Y
9 K6 R3 ]* D: j1 i& o' j5 [' D while(parentBgColor == "transparent")
% M* n0 ?! J3 s- q ~9 e8 {# Z {
( p8 z3 v+ C0 r( R; M+ T/ y 9 {* D; R1 C: @. L) N# f* _
& V1 D$ r4 ?" Y# q& H" v
if(parentNode.parentNode == null)
1 O& R2 M( [$ P4 p9 G {
4 o/ c! h9 L% x6 |, W isLast=true;
/ x- i+ I6 M5 a+ }! U8 |+ [ break;- g8 y( G- @5 r- Y3 {
}
- k7 t& J d3 a. l- I parentNode=parentNode.parentNode;' ]3 ^" i# L) z$ I
parentBgColor=this.getobjstyle(parentNode,"background-color");
/ w( c5 i# H/ a a% }1 ^
3 M# O; b) V3 t if(parentBgColor != "transparent") ; X- W$ h& K5 R1 i% b y2 v" P9 x
{
8 L1 O ]% u9 s8 ?2 G7 ] break;
6 G$ [( D* b' m: m }6 d ?& B1 X7 m
}' _+ _5 Z9 h3 l* L: C: p
if(isLast) / k; G$ u m4 d2 p8 y
{
1 `: n- `! `, ?' M1 k) Y if(debug)
$ B) |1 q8 z% e1 c {; R- `4 L5 _/ a
alert("last!!");
+ u) z& O7 e; F7 P9 \, L: _3 i; t* a4 ] }
! l( I2 q. b) A! i if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 N0 u" R# W9 j
{' R* F* ~6 Y5 _
orgNode.parentNode.removeChild(orgNode);
8 j; x7 n" t7 o8 H; k2 m }- H- l3 k; n* F9 x0 e' f0 Y7 ` f
} l8 k9 x1 K# L
else
% P w. Y8 m7 s& F' Y- j% @ {
; E% m- Q! D* q" E if(debug)
% {8 ~0 O# i$ s/ q' ? {
! z' E2 A1 @7 w8 w9 q. @ alert("compare color and parent bgcolor!");$ l& |! B5 X7 v$ S2 J X' l
}
7 `6 v, b' T+ P parentBgRGB=getRGB(parentBgColor);& m6 l5 B4 Z N' [5 T# E8 g) C
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 _6 `& `* v0 R3 m2 { {
7 ]# p* {8 c4 T# b0 \ orgNode.parentNode.removeChild(orgNode);
. o+ {4 A- H' J. }; _ }
1 b# w+ M( ^% W }
1 A* c+ O: Q; p* c# { }
9 e5 e; ~/ ~4 c }
: x1 k, ]+ M; p9 T }+ z' m. ]8 R7 N- P
}6 w# m, \% h, O
2 }0 f! n8 h4 f! \
3 Y$ R; v4 h: V var itemFrames = page.getElementsByTagName("frame");
+ c* r5 {! Q$ S var itemiFrames = page.getElementsByTagName("iframe");& f8 u0 i! ] A
# ~4 D5 \8 h5 X% c' O var frame, iframe;' ~0 W2 _* K L9 l, {4 O' _$ [$ C. f
if (itemFrames.length > 0)
3 r+ b- e* {* ?/ a8 u3 Z; m& p) N {2 W# a9 t1 J( N2 S
for (var i = 0 ; i< itemFrames.length ; i++)
& v: A; U3 F/ r {+ d6 Q- Y0 x# d/ \; Q
frame = itemFrames.contentDocument;4 W$ @7 R/ ^) ~: Q! u2 O
this.RemoveHide(frame,objname); O. K# d* @! R1 {8 [. ~0 V
}
5 p Y! M% q% Y6 P z9 m7 _; ^: g }0 n# V" H$ f% C3 x$ J" s2 @6 D
if (itemiFrames.length > 0)
% }0 W& J0 v% [* |+ V {
- l8 r. D W ^: G4 o for (var i = 0 ; i < itemiFrames.length ; i++)
( t" M7 Y2 C7 {; g8 B2 _1 r- j {" _9 E7 m9 D* M3 U% q
iframe = itemiFrames.contentDocument;
2 O& n5 l* ~9 ~* N this.RemoveHide(iframe,objname); 8 W! Q+ _, x- u2 i) _7 O3 x
}
8 V# K) ]' H; D! q. a2 ~ }
! I! J1 g' m0 D- o; I v }: _ D( G+ W$ Y* ~. D: ^
catch(e)
/ U9 v v) `4 V8 P3 Z {" g$ S' `1 j$ j: D: l" `
if(debug)
5 I7 |; r$ a- j {0 L" l/ ]# U. Z
alert(e.message);
. v( f$ U0 f: y' [' a1 V" i }
7 w. r0 c8 Q$ s! h0 U! [& F3 S& b }
1 H; M- C4 H3 @; r& o5 T: Z4 v }
( e. ^) j1 c" x" y2 ` - t* {% Y: U0 Y& G5 d, @
}
$ o" |! [0 V& Q% H9 Y1 i1 l
) \! P( ], Q, F: {0 ]function getRGB(colorString)# ?$ Q4 c6 i7 I' A! v. W g( `
{
8 D0 s. e* [9 X5 q6 ^% v var RGB = new Array;
1 d+ x i6 D1 j1 N var tempSting=colorString.substring(4,colorString.length-1);* A j4 r3 [" M |8 [4 O
var tempArray=tempSting.split(",");
1 L% C5 `2 W) B
# Q2 [( k$ S. ~) r$ @1 V: u' c RGB[0]=parseInt(tempArray[0]);! H+ e, [; o5 k E" k2 _( w+ w
RGB[1]=parseInt(tempArray[1]);9 A! {, C7 g7 u# _4 x, B
RGB[2]=parseInt(tempArray[2]);
) T5 v- E9 K+ }5 d+ ~$ |$ k
% D( g9 ]( t3 z( A$ o1 c: ]: ~* v return RGB;
& [; a* o& Y$ `}4 J" n" O$ }! [3 c2 O( M
function keys(evt)
! ]) n% [5 N. \( K8 ] { 8 @: e3 p8 O% @6 ]( }0 C. o
if(evt.ctrlKey && evt.keyCode=="81") Y4 R& w M) q
{
0 k$ z+ E& g+ W; t7 c CleanHideObj.on(0,1);
; |0 d( ~" B3 l7 Y) j alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); B) Z% [% `8 I4 g) k
) f' P$ C* D; {, M/ A4 _: ? } . p; a/ |1 @" Q* ~# N
}
2 ^+ A" P8 Z& p9 @$ Bdocument.addEventListener('keydown', keys, false); 9 ^2 _3 q4 I7 W0 C; i8 _, q
GM_registerMenuCommand ('Clean Hide',
1 U* ~; b4 l+ }4 [1 C* Q+ Jfunction(e){* H- r; u; t( q2 M& Z9 U
CleanHideObj.on(0,1). U4 ~5 a8 O- @, V2 l4 s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 O( ^5 y6 n* H1 U});
8 ~, Q6 i' W" Q9 D9 z |
评分
-
查看全部评分
|