|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 B" _" t+ {1 G! W) j; T0 [
+ n& V/ H+ I+ w2 \+ E Z" q
火狐插件,用猴子
* U0 E5 l2 ~6 i3 c1 b9 o; j
, @7 G9 [7 I- E0 q1 w) Evar debug=false;
9 k/ D8 C4 x- x7 ] I3 }var CleanHideObj=new CleanHideClass();
) X# z8 E0 X. t7 Q# S% S
+ o" Q, H9 |1 t/ {! o# B6 S. afunction CleanHideClass()
2 f; I% m [# H( y2 N{
% X; Z3 h$ A2 f# X/ ]
1 S7 W7 N8 o+ f, Y2 A* c6 x this.on=function(id,bMZ). s* v" T1 h! ]; b0 X, ~( h
{
9 d3 F+ `( l2 D% J + ~$ i2 l0 ^' F- ?' t. Z2 g
if(id == 0)
4 K; ]) F& @1 n {
6 s" o: ~$ |' v1 G* x3 } var page=/* document.getElementById("content").contentDocument */document;
! T5 t' E3 `# L+ w5 A V8 s4 [* o: l) s this.RemoveHide(page,"span");+ p8 F' C' [" y- C! s5 G
this.RemoveHide(page,"font");- {7 J0 \3 f& F2 w9 X6 N
this.RemoveHide(page,"div");8 i( E3 s- b9 s9 y {# W& `# u! Y: v
this.RemoveHide(page,"p");! p% p9 n6 `, O% h; f
/ w6 K$ a. Y+ O. W0 h0 b } e$ m( |: n# o, T4 y. A( P, y
$ D" | L* Y* o% y6 D/ T }5 j5 y7 z7 }* ^4 i8 L c j
this.getobjstyle=function(node,prop)0 }, {( z+ r; |$ a8 Y
{6 }3 K& g3 [' ^7 W
try( x( P4 |' S1 d* h% P1 P
{. I$ R4 Q. l: ~ [
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 F b" N: n. _
}
2 o5 H. l, N6 h3 n |8 n catch(e)$ J: P5 A1 z8 Q1 y# {
{
" j1 l8 M+ q5 ~% l, T8 E8 j; G, e if(debug)& y* B' H6 e% F1 { W; M
{
9 G% a7 Z' S" i* t- L alert(e.message);
5 x( n; {' Q. A% X }- _4 X4 [, H/ z2 I; m: n
. i" ^0 i( ~9 o+ |- {
return "200";4 { ]$ m4 c1 G6 s9 y+ x
}: V# u( I8 b. W8 q
}
2 e: s4 [5 a) H8 ]# j4 Q9 O
$ a( H- d. I5 s' r this.RemoveHide=function(page,objname)
0 @; \$ T- p5 F7 H5 A% x8 T {
( K/ b! U+ v$ F- G6 i8 }8 A* P! i try
8 M, ^ ^7 x( K {5 r6 G& _; ^; M0 H) P4 I2 o
var minValue=15;
5 F5 x% o! V6 l: {7 j var objs=page.getElementsByTagName(objname);
7 D, A, T4 ~* M8 L4 v' k" i
1 q; @. L5 i# |9 W if(objs.length == 0) ( w* |6 A, n' B; S8 O9 I
{7 m% @' G) D+ o# T
if(debug)3 ~7 ]* s+ h/ p5 v
{8 a; M4 T |+ {2 v2 B, x9 p, ^
alert("no object found!:"+objname);
* q% H$ [/ V4 W6 ]3 ? }
* ]8 R9 Q/ w( j6 s' ` }
! w p8 ~; d( h0 y else2 G" o3 } n& G3 u/ D
{
7 ?0 R8 C) o9 X# m8 k# f' R 7 f* c, `) B3 M% c+ P
for(var i=objs.length-1;i>=0;i--) - i# D$ F7 z- V, }$ S# Y! E
{# m$ [; i, f3 Y) }* y
var node=objs.item(i); & X. L z% @' r
( P0 _8 U4 r; z6 N0 {1 ~. |6 x
# c( X9 y6 [/ X" U! C if(this.getobjstyle(node,"display") == "none" ||7 E- o7 ? L- E7 w& l- F
this.getobjstyle(node,"visibility") =="hidden" ||
k e& Y# `; }+ A: N9 b parseInt(this.getobjstyle(node,"font-size")) == 0)
) _) G6 @+ i; O% P$ n) p3 R {
: F# e5 L+ `( v. \ if(debug)
7 a) |% D5 D5 t% B( I; T9 x {
! ^2 I: a! Z6 O- A/ z: B alert("remove invisiable!");7 M8 d' |4 k5 s! w. z8 p
}
# L5 Y1 D% G! A' i. e) l) H node.parentNode.removeChild(node);
8 [: f. p. }; ~5 Q' b 6 E& H5 ]# E) I+ r- f
}# @6 E; S* h5 w7 r4 v
else
- t! D( ~6 `, q! e+ Z% ~ {
; h+ j- {* B- s8 X if(node.parentNode) * u; k$ X2 s# }1 W8 o6 O
{
! l# ^3 g. G. x! y5 ^ var orgNode=node;9 n' I* A% R8 Z0 \6 v: m k
var orgColor=this.getobjstyle(orgNode,"color")" L$ i9 |) C, A+ p7 E! p
var orgRGB=getRGB(orgColor);
, v; S! d; n' z: x" l+ T
. a" r+ s; F% F6 q, Q& b* k var parentNode=node.parentNode
5 s! \3 ]1 y/ R: i D+ ~0 z1 u var parentBgColor=this.getobjstyle(parentNode,"background-color");" c0 {2 y0 P# N. y3 c. f
: J; x% B8 i3 h. I0 A7 h& C3 M var isLast=false; d# @2 F1 u$ a4 r0 q" F: c
9 W% ^% P) a M' R while(parentBgColor == "transparent")
I( [- ?0 K0 K4 \; ^+ r8 s( B/ H {8 m/ Y2 `* q: }2 a
) }5 L9 I, |$ B a q , c. K- f4 \% s! E" t/ e
if(parentNode.parentNode == null)
) R! c' J4 }2 u {8 p8 t4 d( R$ q9 G O6 C: E) Q
isLast=true; O: _+ t% e# `' q
break;, e7 n. [% y5 A4 g
}
$ A9 O6 L0 _. q7 {; z parentNode=parentNode.parentNode;
: u$ R& @" S% X* H. q parentBgColor=this.getobjstyle(parentNode,"background-color");
# t* F+ n1 e7 E7 ~5 E; D& ^
Q! H9 F; z" G) o( _0 w if(parentBgColor != "transparent") 0 v4 h% ^9 w5 m. h( f
{: A2 k# b5 N: g- j& M& n( e# N. |5 ]- {
break;
& z4 [$ w! W4 k; \8 N }
& c8 b# F$ ?' o7 t% X2 p }
$ }# |7 O# H' s% G& C3 z6 O if(isLast)
# D- S3 r, k% {' k; x1 h {% Z$ z* \7 l2 [4 |
if(debug)5 @* s0 v2 n+ Z
{& Y" z- f/ C i7 l! O
alert("last!!");
8 a2 p, \, t/ ^4 u }, S0 i3 L$ h- ~6 ^ i
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))3 F0 _, g- A: a) \/ D: m
{
( s1 Y( X3 x% u3 p) y1 k orgNode.parentNode.removeChild(orgNode);
( x7 H' X, Z* d M8 N }
" y/ T3 V% X9 W# _1 j }# B$ v% `3 ^$ k7 B3 q' }
else
! R* i5 N4 S8 { {
2 Q$ _' M% D3 g0 ~: y- T+ l+ Z if(debug)
, ]6 k- G$ l, X/ Z8 M4 ^ {
q/ s) z( X6 D alert("compare color and parent bgcolor!");! U9 M* S, m8 q+ o5 ?
}
( n/ T8 u8 v' }, t parentBgRGB=getRGB(parentBgColor);( y( p, D& I4 B4 }, Q1 _
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 A( Y: A* Q3 d
{6 {/ A4 M V D) H
orgNode.parentNode.removeChild(orgNode);
, V. y" I( q" _* A1 M$ x7 i7 ? }5 Z, L8 b" E& ^4 [
}
4 y7 |2 B1 O! e+ z5 d }
8 Y) C2 p/ C, b: o0 A3 p }& Q% a3 m# l) D1 E' ]' o
}
; K, u3 i# b/ K( H, T+ o( M6 P& | }! Q/ {- f' V6 r" e0 u' B
: d3 E9 j5 V2 `( ]6 d/ X 4 @# [3 q/ n( L5 o* \
var itemFrames = page.getElementsByTagName("frame");
5 C7 S6 F8 B/ X# R5 Q var itemiFrames = page.getElementsByTagName("iframe");, z6 c3 [* |, R+ Y' a
. o* [( L. {! c5 }4 m var frame, iframe;$ x! U3 B. y6 M$ N) A( j
if (itemFrames.length > 0)0 |- B; Y2 h' ~# N( { S: ]1 D' L
{
% F: N- b( y ^+ U" L! @ for (var i = 0 ; i< itemFrames.length ; i++) / `6 O4 L& B9 A$ \
{! z- X+ c; n) f( D( p( j) `3 {
frame = itemFrames.contentDocument;
, h1 V: k1 b5 T) q this.RemoveHide(frame,objname);
6 c% E# g1 N6 Q: A9 c }. s y) R0 d6 h" F) H, j
}
- y/ D4 g L4 i1 g. T6 J if (itemiFrames.length > 0)
+ |; ]( V2 w% `9 k {7 c l# k/ \1 E# j& n
for (var i = 0 ; i < itemiFrames.length ; i++) # r4 U0 S$ ?6 k N
{
3 m. F8 b& E5 z l* } r/ x iframe = itemiFrames.contentDocument;% v8 T% t t$ Z# u7 f7 B A
this.RemoveHide(iframe,objname);
9 i1 c. U8 u. x; L# F }# k/ r" e" E" q" [
}& Y2 d; d' Z& ^+ F
}
* r- j9 _. z7 t( @" I( u catch(e)9 e8 Y1 i3 h6 Y# M. o( m/ G
{( B1 f5 q6 t/ s2 N0 }& \
if(debug)
6 V' y# p, a9 @/ q$ H {% W8 ~6 A! [3 b8 V- z3 V
alert(e.message);/ } _+ m E n2 J3 N
}9 C: |& K9 O' \. U
}
- L0 P& K# N, k* \( F3 d$ D }6 w: k3 N; l# u$ p$ ~
& o* h a, g+ Q4 d9 X4 e/ b
}, M- P! `/ p3 [* y
+ x0 n6 q4 F0 d) j
function getRGB(colorString)
* w; _/ m: q: F" ]1 m& g' w* v{
/ j3 C, k5 D6 o; G" [1 J var RGB = new Array;& o! k% _2 {( w( U8 D: |) i2 A
var tempSting=colorString.substring(4,colorString.length-1);
9 ]+ Q8 m& w, {% d2 z$ D var tempArray=tempSting.split(",");; \" e* m# B( m/ m) J" N
2 o' @: K+ `8 x7 { RGB[0]=parseInt(tempArray[0]);
3 |7 K S0 c$ j$ M. @ RGB[1]=parseInt(tempArray[1]);
- V5 s/ O( i; b0 M RGB[2]=parseInt(tempArray[2]);! Q- X8 G+ ~2 z$ t+ _" k/ _
# q5 i0 U% W9 W+ k, k
return RGB;
& {, l7 |' {) A" K, Q f}
# M6 B5 H6 Z* Q5 y6 M. M* g) |function keys(evt) - J% [9 w. G/ j' `) K% I. }
{ , R4 i Z( t, r
if(evt.ctrlKey && evt.keyCode=="81")
; m/ r/ K* O7 v& R {
; F1 u& n% h* }) Q+ ] CleanHideObj.on(0,1);6 z2 P& p+ W7 ?% M& }2 \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' a. z( C% T' |: f) t ( N" d; g. ~, V
}
; k0 K# o# B0 u }
1 [# h8 ~* N* D# ^document.addEventListener('keydown', keys, false); c% }" A7 v# H) d$ D) I
GM_registerMenuCommand ('Clean Hide',4 m2 W& Q0 N* e) p( n
function(e){
) a& @# X- Z5 N+ S0 d& A1 E" qCleanHideObj.on(0,1)* }/ p% G6 n8 k5 b" Y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" E! i C1 y3 b! [( i+ ^' o9 E});
8 ]# j0 i4 U% P: x6 c |
评分
-
查看全部评分
|