|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
8 O! ~/ O* d& d' j0 T9 g2 h7 P3 R
. [( S# |5 v. ~ y. L火狐插件,用猴子- a5 w+ A, y1 ]& S7 j5 l0 g
, p8 n+ S- v; D$ d% h& N9 |$ {' w W
var debug=false;
( ~( p/ p p4 R3 u. H! Yvar CleanHideObj=new CleanHideClass();
) r3 c- y0 c. o# [* x7 r2 }4 T$ Q6 m6 N, @1 N3 U; M3 C
function CleanHideClass()
! u$ C" V# N0 _{
' Y5 v. {$ v& j' O . ?1 u3 F2 {, D7 \6 ^4 q
this.on=function(id,bMZ)
! k6 h8 D- i5 X3 N {( Y; V/ o) ]4 U( J- w) q8 N. b
" D0 q6 x2 f4 _$ Y, e
if(id == 0), ?5 w) _/ Z6 D6 w% t, \$ w3 d6 W
{
$ W# n. u; R& ?$ r var page=/* document.getElementById("content").contentDocument */document; ! r9 I$ [/ H! M( N+ O9 A7 ?- U4 _; }
this.RemoveHide(page,"span");
; P( _% M A9 K: e/ t R0 t g' R& A this.RemoveHide(page,"font");
* ?* Q9 O% r: S U8 R- H/ X+ @ this.RemoveHide(page,"div");/ U, S& J) p) s: _, |* ?' ?
this.RemoveHide(page,"p");. n5 f/ v6 h3 L* {% \1 t: P
2 Q* |- E, U+ D3 a5 L' K) B8 f
}
6 |) k( l0 m. j: D, u- @
0 }8 R* M8 j( T' n }
" T! d5 i; S0 p- b, v, d2 d this.getobjstyle=function(node,prop)
' A3 r2 i2 C. x; r- L {( m7 e+ M9 r$ l
try
. C" A& j* q7 X" N& I! H2 R {
8 q/ O2 w3 S" e" z x5 }6 P/ [0 j1 N return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
9 Z1 `) E" P1 r/ g0 K ]! n9 M }
0 e1 t z% W/ Q7 V0 Q& U catch(e): h1 V, H5 H& n( |% W; X3 m! u
{
7 X! ]" |, n" m. D6 X if(debug)
' |: t; p' E6 o {) X+ y$ Y O2 B5 a$ T) y) H
alert(e.message);/ l/ `- H5 ]1 a* h' L8 l8 x' ~
}! `+ [# [" r' E0 b
. ]3 t5 V7 w5 [9 h5 E7 T return "200";
a0 P: t& {6 m0 \$ c+ D- ` }9 ~; @" l! k' Q$ F2 D
}( F" I0 t2 p5 l; W7 f# u4 l
0 f5 \7 [! D( h# x" ?3 R
this.RemoveHide=function(page,objname)( \! q/ v/ w' [1 _: o" X+ a6 a
{2 X* l' D7 h8 C, Y7 G" D
try8 j- X5 L9 g+ ]4 n* I+ N
{
0 q6 ]8 r/ T5 P8 C( y. a# n! u var minValue=15;
( Z% P' [7 f. x( P var objs=page.getElementsByTagName(objname); - q! i. S, U% X% y8 X/ \# v/ ^
1 S$ |0 j. X. f if(objs.length == 0)
% T. t( E+ ?2 c# E( P. Q. e {
/ C; G* v8 u! H4 U: H/ c; E if(debug)0 m" M0 A# D( X( U
{- j1 Z9 w( l5 c7 ?2 e" Y( ]* n
alert("no object found!:"+objname);* z! j J% d8 o1 D+ [
}* I4 \5 F8 S; [- H+ j
}
0 v; N" K' A# B1 S0 `; y else
1 \5 |$ }) m" }8 K+ x4 P$ d {! U% ?! t" R2 k
8 i9 H9 m0 S. O! `4 [- [$ b- n
for(var i=objs.length-1;i>=0;i--)
0 j% F7 m; a; G' l% z3 G6 M j {; J( u0 t7 s w# m
var node=objs.item(i); 0 N3 n+ g( p/ ^- W
3 J% n* ?+ M- c
" ` D' M. v7 M3 L9 Y/ G if(this.getobjstyle(node,"display") == "none" ||
5 s* q. I* A/ B this.getobjstyle(node,"visibility") =="hidden" ||
+ `: Q y0 U4 M9 D) E( V% K" y parseInt(this.getobjstyle(node,"font-size")) == 0)
; W) ?2 {6 s( O' ` {9 Y- r% v' {: _# m i2 d3 P
if(debug)3 t. C5 l: H" D/ U8 i
{' z/ B& I; j( M
alert("remove invisiable!");" B2 r- w) |- G6 p, `) ^
}
+ T5 ? I" `+ ~! p4 n3 Q( H node.parentNode.removeChild(node);
. I r+ L% r6 f U" z 4 |: h- f% |! \4 `) l' k, T4 I) N
}6 Q& ?0 z! u1 i' _1 z
else
7 ^2 {+ J& f9 i! n) V {
7 V$ q# |8 i4 P( p5 ^% Y if(node.parentNode)
+ r! m! m4 n6 v1 d {1 `7 E+ W( ?6 v0 q
var orgNode=node;
0 |2 \ K+ v+ y% w P3 e var orgColor=this.getobjstyle(orgNode,"color")
$ y* M; k* _9 q var orgRGB=getRGB(orgColor);
* m$ |# v8 n* `2 C3 i , z) ~+ _. x- n( n/ c3 J4 q
var parentNode=node.parentNode6 l& U! C( v. Q0 y7 A
var parentBgColor=this.getobjstyle(parentNode,"background-color");
+ I# P; h/ ]' w) t6 H' W. F/ ]# L# r7 V , Z o2 I& m& ?, X+ t
var isLast=false;
. S$ ^! p+ g$ H/ o% w
1 v# A0 J r$ ?& s9 ~: J+ h while(parentBgColor == "transparent")
8 M( A5 h4 q+ a* I/ i3 M {
' h8 R6 \1 f; p! m0 K& r
! x6 i0 H/ K" X" v _$ c9 |% D8 T! ~ I z& D% T
if(parentNode.parentNode == null)0 j5 @5 {; k! p% p3 |0 M& S) V8 H- z
{
6 n$ [- o$ I4 `1 F. [" Z isLast=true;
/ W1 w+ a) b# X* h" Z break;4 Q$ i' z$ t9 N0 K8 y8 ]- I
}: b3 `) X2 ^- {, b! j
parentNode=parentNode.parentNode;
2 _" Y- K/ ~- b8 L! R' j* o parentBgColor=this.getobjstyle(parentNode,"background-color");
! `( r1 {. B4 R b& u9 o
% m' @/ p9 U7 N if(parentBgColor != "transparent") T" O# p# n: Z/ E7 u: G" ?; v
{
) x! w' r4 Q$ I- z. O break;9 q3 J% s: i9 @2 w
}1 N5 E3 t* }8 J) h1 {
}5 O" d) w Y6 A4 {( v
if(isLast)
: I) A3 p$ i2 U% { {# u) V. ~- S6 ]' I: L# I
if(debug)3 q! D& ^/ W. G2 Y$ \2 o, ]
{
( K3 `7 e( r: D6 g m i alert("last!!");
9 I/ x$ T+ D, W' Y G; i( F- J }
, ^2 t$ G. O3 z1 n0 l6 ~ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 r9 Z; t/ \; m$ R7 R( Y {
- H; R6 b% ^7 I! ^( T- J orgNode.parentNode.removeChild(orgNode);
$ ^# C4 ?; V1 [+ P" y% Z- f3 L+ `( x }
1 P4 z4 O4 {4 a" W }
# p4 {+ q& w( a* ?- a4 f& ~ else
+ W2 q% J' `9 N8 e {
8 c B5 ?4 r1 D if(debug)
6 R1 f% ~4 Q0 l {/ D3 U# A6 Y" I3 @9 }2 c' J
alert("compare color and parent bgcolor!");
) I5 ?/ S# a; t: \8 }8 e3 J, F! `( n }
/ n& {8 P2 ]' _9 r! c0 L parentBgRGB=getRGB(parentBgColor);
' B$ y: ^0 N4 G/ K7 E: _ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' S9 B8 K% @7 | {
2 G9 |" @$ |/ S5 v8 A$ `# \6 O# n orgNode.parentNode.removeChild(orgNode); : @/ ~. u) M% c. m
}
4 z3 g& w7 V1 ]/ k- ` }
. |6 o6 ^) O' O/ c2 a }/ g' \# R9 j" n7 W9 D
}
0 K2 `" o4 F5 _2 R' y K. y }5 x4 k4 e! M' ?
}
5 @. e/ E8 ^1 y z
* @# k/ d' j1 {4 y# O' a) y
0 C8 {1 y/ c2 ^( N/ v var itemFrames = page.getElementsByTagName("frame");
; R+ H3 z1 Y1 A! q) ^7 o7 z var itemiFrames = page.getElementsByTagName("iframe");
: I( l# n$ }8 A . o* w& X( Y3 R" L
var frame, iframe;. G V2 u) a0 S. }
if (itemFrames.length > 0)
: Y0 F" Q" F9 J9 h1 G4 m {8 m% b* G- J. V. S9 a
for (var i = 0 ; i< itemFrames.length ; i++)
% i' q3 q8 s( ?) U* {! B {9 T$ h) A6 L: @
frame = itemFrames.contentDocument;
/ m# ?( R5 {0 a+ a2 z, Z this.RemoveHide(frame,objname);
/ Z5 L& S3 e- h# T" ~7 p; ^ }2 s& @, s; f; y2 t# P$ a
}# [! t( C) a( d+ r J5 h
if (itemiFrames.length > 0)5 D& F8 K3 {+ i. R' m6 P
{
1 P# }4 q: ]- N" W! r' `0 \ for (var i = 0 ; i < itemiFrames.length ; i++) - s: X" [8 m; v4 i8 U
{6 ^$ S k5 Z2 E* P3 f; L
iframe = itemiFrames.contentDocument;
7 [6 G( e6 c% o" d/ c8 C( \ this.RemoveHide(iframe,objname); 6 `! m! R) H! b& C
}
/ L% M0 G2 L+ R: v- ? }
8 z2 S d9 u+ [) x }9 p( P% j y/ u) \; E
catch(e)0 A) P: g/ J5 d8 {1 K) m
{$ J. d$ q o6 D
if(debug)5 c i2 \/ E/ M2 \% \1 v" M
{" P9 A: E5 l) [' X* i& O- n
alert(e.message);* E' Y8 j! i' G% ]. I
}) @6 o9 N" F3 [8 ]4 J7 m
}
) U. m7 \6 I. c: T" A0 N* G% E }: H0 u5 | O! o
$ g5 x; S7 T" O0 m, t9 J! V}6 p& Y: t9 y5 L6 w0 \& Q6 A0 t
/ `3 U, x- K) W" G
function getRGB(colorString)4 n, @( D. Z, X+ t( w
{
$ h& }% U3 t# _) ` var RGB = new Array;
( U, C9 J+ j7 C4 k2 _$ g var tempSting=colorString.substring(4,colorString.length-1);9 h& ~) A) f1 I( ? c
var tempArray=tempSting.split(",");6 [8 y/ F0 Z( S2 A. [+ b: {* |% n
+ r6 S1 s5 b | RGB[0]=parseInt(tempArray[0]);
! P! i* x* a) t. m3 b& s RGB[1]=parseInt(tempArray[1]);" d; }* r. O; T
RGB[2]=parseInt(tempArray[2]);8 D/ x4 e% A/ t3 D0 [1 k* Y
6 n; D% R3 S" ] return RGB;" O8 f) Q" m+ b; U
}( H7 |. Q) K% D* O, k
function keys(evt)
R( f$ t1 a6 X5 {& L( b { 1 ~5 [5 m4 m. ]% s
if(evt.ctrlKey && evt.keyCode=="81")
/ @# Z" s; f4 f; e' } { 4 p( I4 f- U9 {( f0 f( h% n; x
CleanHideObj.on(0,1);! O: K( y1 H6 i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ M& n% q$ m: t3 u0 w6 \' I- g
1 t6 m" J: g& ]" t } : z+ p% q5 J# J4 M7 `
}
9 R: P( Z) W; I0 _8 mdocument.addEventListener('keydown', keys, false); / D# d6 p5 r: z+ K# U8 T
GM_registerMenuCommand ('Clean Hide',4 N* }. `) B5 D
function(e){/ E3 G4 I% X2 G- E$ X) g
CleanHideObj.on(0,1)( C+ ^. O% U! M; K# s5 U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");2 q/ b8 P+ V% X6 h7 n o
});
# @8 c* Y6 D5 U3 q" Y |
评分
-
查看全部评分
|