|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % \# k5 r* {. G8 Z/ |) S5 v8 f
) f" w; H% i a6 v% v8 B4 \
火狐插件,用猴子
, u" N, s0 M9 N# Y
' e7 Q4 L% N* l2 m* P9 }4 |* u. Nvar debug=false; ; I; ?6 z5 ^. `* l$ ? i. a
var CleanHideObj=new CleanHideClass();, m+ ~. i# U/ }6 c! b9 e
# u+ Y v+ n2 ~: @function CleanHideClass()
; l3 u. a: Y+ n3 U+ E$ B* u) f. c{
9 j t- ?$ v; _* m
: [+ f( G2 i7 u* V! W this.on=function(id,bMZ)2 U" q% }: O* k7 L: F
{
8 Q X, b8 z1 H6 w7 s% n1 W+ k8 F4 u ( e# W ~: S% k4 y' r' P
if(id == 0) U. W7 V0 Y' p- E+ w( n1 U
{: F# f- c& w \7 }- _8 I
var page=/* document.getElementById("content").contentDocument */document; 5 ?5 g4 E. W R
this.RemoveHide(page,"span");$ Q# \! }- X/ N) k
this.RemoveHide(page,"font");$ B( L& L0 O6 }9 f% H# e# a, u; \
this.RemoveHide(page,"div");
! E2 P3 w( J8 r, S' n this.RemoveHide(page,"p");
7 u, [- \* |1 ]8 f/ P 5 Q3 k9 B; U3 w2 |7 R/ F
}
L* }) a; K8 d2 `& {
4 d5 Q" z9 `- _9 t" g }0 o" r1 v2 g3 A8 L, F% @; m
this.getobjstyle=function(node,prop)
9 w5 N1 k3 {: y {0 q$ K* W) W1 f; t
try/ _8 a- a, [+ K
{
6 p" S2 x7 r" n; K( b return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 x6 Q8 g L9 G8 L7 n5 N- \6 B }
1 C; j0 a' N+ U' R, s1 H catch(e)
6 [! b# W' ]1 P8 ^ {# ]$ a3 Y }1 I; s
if(debug)( s3 `% z0 @' @+ a
{
* E' B0 M4 Z m4 y" s% y alert(e.message);
* k& X1 b6 l: ]+ ~2 j( ?! E }
. q8 {- b1 E+ C; ]; _
: u! `5 ^' |8 ? return "200";7 s* o8 Q% e" W( W* P: a
}3 h, h* w& M3 j
}" ?+ M$ ^2 N6 Q0 T. O% I
' V) Z# P& ~; `: [* c' C this.RemoveHide=function(page,objname)4 O* d+ O& K/ n: S* M ?) ^$ W
{
' u% q6 y6 x/ t8 x) i try: r) P& ~$ I( _5 f9 e
{
2 B* E! }# H. e5 V! g5 W var minValue=15;% U) _" I# d, k7 `5 _
var objs=page.getElementsByTagName(objname);
; S; _) Y; x3 b( E! v2 q+ c4 O) x. R+ \. e9 ^- r
if(objs.length == 0)
) a8 p5 g4 }# [4 V3 n3 d. S! R- l/ F {+ b6 u$ j0 H& G' i" A
if(debug). P9 W. b) s7 i+ ?3 P9 n/ z. x, V
{' F+ e0 Y- R' w. v9 y( m
alert("no object found!:"+objname);4 x i5 P+ g- T, K+ L0 d2 e7 U( k
}
, Q/ L$ f/ f7 M+ T5 A8 T' s- l( h }/ p% b5 d5 [- z' s! j) h
else
: R% m/ X1 ^- g* h8 Q {
/ [$ @! }4 \6 f: u % T; Z, ?" A! L3 z* }/ J% Q% o# {. r
for(var i=objs.length-1;i>=0;i--) 7 l: l- Q8 P; X9 j# D3 p% e
{% W9 U9 ]* B' q/ M4 L2 b/ B1 f6 |. S
var node=objs.item(i);
. v( w3 a# k [2 D; r+ F+ X
) w1 p5 i. {* v3 L- r* C' i
5 t. v' X% L9 ? if(this.getobjstyle(node,"display") == "none" ||+ | D9 d# r% l
this.getobjstyle(node,"visibility") =="hidden" ||; ~& H$ L$ V4 a, j
parseInt(this.getobjstyle(node,"font-size")) == 0) ' O8 Z/ Q1 J* G B; @" ?7 e
{: G( l! X/ ]6 y1 _$ [& z
if(debug)
* W: W$ [5 q) R0 R6 F {
7 S+ w( H2 X. R: V7 Z* J6 O; ] alert("remove invisiable!");
) k3 [1 o1 c9 M* Z }) n* }4 X$ h* z
node.parentNode.removeChild(node);$ g4 [* ~+ T* M
; K" x+ s, Z& x2 g- D; i( f+ u' E% j
}
4 e, Y, [. C3 g3 Q F4 x3 n else
- h& F" j5 R9 v( B {
4 J/ `5 a. w/ k if(node.parentNode)
1 Z7 g. J8 Z9 z0 q$ P* Q3 U I {- Y! [) Q; D1 ?9 X3 n4 A! \
var orgNode=node;( t8 |2 |! Q. I8 k4 R
var orgColor=this.getobjstyle(orgNode,"color")" E, ]! `3 H% K$ o F, ?
var orgRGB=getRGB(orgColor);
) q- C" q/ Q! H% W$ O' {
0 g# s7 Q0 C: f; o: W var parentNode=node.parentNode
9 x4 x( R6 W: x6 M( k' B var parentBgColor=this.getobjstyle(parentNode,"background-color");+ G3 d+ X. R, x
0 T6 c" m+ f5 s! n* N$ @- S
var isLast=false;) V$ N2 a3 S$ Z8 ^# \( d4 A: Z6 I: o g
7 t: O+ r8 c) H while(parentBgColor == "transparent")
1 m2 `, @8 o1 R3 Y8 T( ~' ^7 d' Y' F% X {
9 O# |: x$ L) X+ m `9 S
9 }. }$ A( ~- A5 W9 e
$ l/ w: i, [6 P1 D* Q if(parentNode.parentNode == null): G: J8 Y- t. Y+ [# X
{
+ d0 z" U# l* A V) H7 i isLast=true;
G- r+ } O3 n" n, W$ D break;
% d* t- g5 w+ r3 |. w }. u" M: H2 o9 F' @4 _0 u$ J; [
parentNode=parentNode.parentNode;
1 s, k! c: z2 r% m7 l& T parentBgColor=this.getobjstyle(parentNode,"background-color");! N4 F$ t8 P' n! v$ C {+ h
) q3 L: n" Z5 o: l) R
if(parentBgColor != "transparent")
9 ~. v# X# B1 \8 d6 e' e- `; O* J: u% r {( u6 j: [& P2 s
break;
" ?$ Y1 o! ^: i. G) e+ G }+ s" U1 O/ K% K9 a9 }
}' N$ `$ }/ p* a) A! D7 q. ~
if(isLast)
" j$ x+ `3 `0 g; b {/ ]! \. K# D8 [" O; a7 K: a
if(debug)
9 K% R* }6 D$ \% t7 ^, X9 l {
- ?. P8 C, y0 [ alert("last!!");
* X6 x% f9 D% V W; I; ? }
% [+ \. R1 g( B2 |6 I8 ? if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 b+ Y4 P5 `" o. | {
) _ r) p* [$ z% D( d8 G. n orgNode.parentNode.removeChild(orgNode); 1 v0 A0 n5 M5 T$ ?& G) Y
}
# F& V0 Y, ]! ? }
) S8 Z$ h# _& h2 A* @ else
2 q) ~9 C+ Q$ y {
3 q; b6 L% B, I$ [. y! A6 W% J if(debug)
) e K7 O2 u1 c" }) c* G: k {( e5 |" K" L7 R) {8 X- b4 P
alert("compare color and parent bgcolor!");
6 C# f2 C- j: n7 ~; U4 p7 K }2 ]; V. t9 x. B! N
parentBgRGB=getRGB(parentBgColor);
/ ?7 |6 E* ?. | if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))7 f# v( Y* g0 |# d$ Z
{
3 \! S& }7 ^5 D+ F! `' x orgNode.parentNode.removeChild(orgNode);
( B2 G) J/ X5 f" w# r# E) W6 M }' x2 W* Y) ~6 F( X$ m
}
/ g- h. A4 G- d3 Y }
2 ]& c3 U- I3 z. w& N }+ q5 m1 C% Q! Q- J; L: X
}2 i1 r0 A" u7 x) m1 S
}
' z9 _9 r, u# w ' s! E, P& v* x. l' X- B3 X
" j" m, p5 r0 t5 \) l g var itemFrames = page.getElementsByTagName("frame");
0 {" m l, k- ]) a2 g var itemiFrames = page.getElementsByTagName("iframe");# c2 {$ {/ K6 e8 O/ I
1 a. O7 P* R+ A8 F+ o) l var frame, iframe;7 ]0 P! M$ \7 ]5 S7 P
if (itemFrames.length > 0)
# w; [: `; G* {* z, D! h* y& R {' x: N) [1 Z* ?5 d4 b8 M
for (var i = 0 ; i< itemFrames.length ; i++)
; l% W9 Z/ ?& H, Q7 C- Y9 ^ {
& U7 Y3 B& {- k* G' r/ V frame = itemFrames.contentDocument;
) _0 l8 A; n7 n3 c5 J7 k this.RemoveHide(frame,objname);
- _4 [ J- t: |1 `, ^7 X2 |7 ] }
/ L; ^! ~1 i* @, h0 k }
4 l. x, K+ ]' h$ O a# ` if (itemiFrames.length > 0)
% x: G9 y( l. ~. E {' n1 B1 N' |. k M" Y" f! w
for (var i = 0 ; i < itemiFrames.length ; i++) 9 q% n: P8 p- e$ U: w2 h& \+ L
{
" w# V' E; Z( {- k# J* k iframe = itemiFrames.contentDocument;
8 j4 K( X$ F$ ?& m+ d- a! a/ q this.RemoveHide(iframe,objname); ) R5 G) X0 Z1 r7 p0 Q9 b1 ]; Q7 X
}. t* I, {0 C9 l* `% r) N0 i, |
}
/ v" ` f6 S) b' K4 A& U }
% C. x; j9 X8 j. l3 O' m9 E& e( I catch(e)0 k( J( a' k- y7 G. L) [$ w
{
/ ]" p( \* ~2 U if(debug)/ v4 A5 X& {; K- Z# v
{
9 z- ^, ]3 {9 m alert(e.message);4 ]8 f3 J3 g. H% D/ H, c8 ]7 m, f
}3 R0 I( X& g( h# e7 K
}' y, i/ I8 l) ]7 A3 S
}
4 x Z+ T, e$ C8 z
* B9 X7 f0 ~# P. \7 S}' S" d8 R$ J8 t$ w* i
; D8 |0 T4 d; G
function getRGB(colorString), n/ O6 [+ \$ q& W- c8 F
{3 R& W5 g: F1 ]
var RGB = new Array;$ l9 q; e. j+ P
var tempSting=colorString.substring(4,colorString.length-1);, s. d# y6 B( \$ `# Q' N$ ~
var tempArray=tempSting.split(",");
/ c& z0 C: D# m( L. B! k# s4 O' ?' @* l- e0 O! H f$ N1 D
RGB[0]=parseInt(tempArray[0]);; k& D y+ @0 e0 l2 k7 e! u9 S4 b' f
RGB[1]=parseInt(tempArray[1]);; x# m7 x( W. F6 e0 _
RGB[2]=parseInt(tempArray[2]);
* P; d3 U4 @1 A $ z" L$ d7 i. b8 q. {. @
return RGB;
$ K( l ]3 W0 b, D6 T}
: ^" J+ q# k* y0 _" ofunction keys(evt) % K4 n: o3 P5 a9 _3 b
{
2 A: k; @: c5 H* P if(evt.ctrlKey && evt.keyCode=="81") 6 o% r5 k+ d+ {5 p ]
{ * ^7 e% i& S A4 F: X# F
CleanHideObj.on(0,1);, R8 |' S5 i: [: ~; v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & E u3 j' m& t( z
8 m2 z3 B1 j/ f& G& I6 @ ]
} + P# C, ]0 \# ?" W: C6 Y
} ! l: a2 b5 p6 t2 s1 b0 s3 k
document.addEventListener('keydown', keys, false); k, B% n: S* k, ~3 t5 I; i# M: C7 F
GM_registerMenuCommand ('Clean Hide',
' J6 @2 w, Y) j1 E! Afunction(e){
. u9 G5 T% d t+ c: o8 kCleanHideObj.on(0,1)
3 K* F! }" }9 K' Y2 r' K6 Qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 `) p: Z; b6 G});
8 D* {+ N, n8 Y# `/ `9 @ |
评分
-
查看全部评分
|