|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : |1 Q+ a: n. j8 T/ V3 c3 o
/ c, w) B b# K6 z8 _- n) T
火狐插件,用猴子
* }; ^9 c8 \3 \- ^9 Z* |( T
! N1 Q5 y& P- Yvar debug=false;
- s% C4 S( ]* F- a9 {& Yvar CleanHideObj=new CleanHideClass();: {0 g- K' i% \' U
6 J4 P% Y* A( Mfunction CleanHideClass() 5 d t' z# a, b% o0 k6 ~
{ 6 K+ V: _2 q9 H \6 J
2 [; s5 ~, c G8 E this.on=function(id,bMZ)
5 o5 r+ r: t L6 A) w: r {
) k- R7 y& F; M: l# ^ 1 V2 b. w& I8 y S
if(id == 0)
8 T* a- X/ t! H, ~ {: f+ Y+ J) w4 ^1 h' U9 e# `) {
var page=/* document.getElementById("content").contentDocument */document; . g+ u7 D4 ?& a2 s, q
this.RemoveHide(page,"span");7 `- s& j& s t3 \
this.RemoveHide(page,"font");
! d- [! p# @/ u. J/ Z: x1 A) j this.RemoveHide(page,"div");
+ x3 |# M$ d, E: N5 G7 e this.RemoveHide(page,"p");
; y! O: w* E, t$ a$ x + P. a; h9 G! g/ e5 l" i# F
}
+ s" X7 I+ q1 i & J" X. w) e( Z. u2 v& n
}4 b5 ~1 a. B2 m7 y9 Q4 x
this.getobjstyle=function(node,prop)
2 T- k4 S P3 x {1 k7 P4 S2 v6 Z' ~# G
try
3 Y# b% a1 v4 w& _! r {$ p! Z# q$ q6 F9 A+ s
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; |. b1 d& l8 @
}: W% D( V* q7 U
catch(e). K3 x( {" d! \
{
$ N3 s$ r8 d% N# i% R# ?# h }( p if(debug)
. p! O* z9 e" D {
* |1 C9 G# J# l alert(e.message);* U7 k# d: N2 e7 O* [8 m/ f) O
} K, E2 c! {3 h0 I8 E
U# r5 W/ g$ b% C+ v( d
return "200";! D. |- u. }! r V" Y& A4 g
}, q: B: X2 T+ m6 N
}
0 m" _2 f5 B; a8 K$ I1 Q ( O: `' [( T" e& C1 A7 M
this.RemoveHide=function(page,objname)
4 U5 Y B. ?- H* e0 l9 e R {
2 g, a% y8 z$ |0 T try/ r2 Y. t4 O0 b, R- f5 F9 q# I
{7 J& _1 y n$ H- K h) `0 f; O
var minValue=15;
( k* @' R0 c$ f( B var objs=page.getElementsByTagName(objname);
# h" c& S! O: B, C5 K/ d2 `9 x* @- n& r" J; D5 t6 `3 x
if(objs.length == 0) # v& S: i7 {9 ~ V+ p- p
{
- f8 u0 U5 e, C1 ~# n* G; Z if(debug)1 Y2 f, ?6 C( e5 v" ^7 U1 i2 T* o
{
3 n) p2 a2 X* Y+ ] alert("no object found!:"+objname);
# V& |3 e4 t: K) t }
- E3 B J0 A# N& B' q Z, ?/ S; i( R }8 g1 [0 o) a0 Y+ b) b
else
& o' _8 U+ s; x. j" F2 N4 f {. m5 f) E8 N% j9 d; [7 j# p+ G7 ^
, Z/ e7 Q. ?7 j
for(var i=objs.length-1;i>=0;i--) ) u+ @' N Y: N/ A) u! q
{' Y' I4 K( H) |) n J# Y
var node=objs.item(i);
9 j0 g! A1 j# _, w& O3 i
5 B4 Y1 ~$ Q" B4 }1 z
" A2 D* m5 V/ G0 {4 y3 M S0 _7 O if(this.getobjstyle(node,"display") == "none" ||
0 L _/ \: Q% O( I8 U+ z2 e this.getobjstyle(node,"visibility") =="hidden" ||. k) O. R, z; v+ ?9 ?8 \: W) N+ _+ p
parseInt(this.getobjstyle(node,"font-size")) == 0) . c1 R/ m9 {1 {6 l) ^" z. ~
{0 S. [' `% W* ^' Y
if(debug)
7 ]2 H4 V6 u" B0 m! E {( C0 [7 U9 N" x3 a6 p+ P
alert("remove invisiable!");
. d; d v3 M1 U, ~7 H }) ^ X+ m3 q9 w& d
node.parentNode.removeChild(node);7 H9 K" i7 j6 V: I
+ y& d7 u. H+ w) v. O9 i }
! Z0 D3 ~+ v" Z: Z2 C* _ else ( |7 |! v, U* h( ~; @* i0 o
{
5 O" V& H- s, \ if(node.parentNode) 2 M; X/ |/ Z/ ~8 |, c( l' A
{, n7 q/ R; F; y( a# ~+ g! `
var orgNode=node;
0 i+ X. ~* a# L7 c; m var orgColor=this.getobjstyle(orgNode,"color")
- p% Y" e3 k! I3 t% X var orgRGB=getRGB(orgColor); 8 i" k# {! R, f; g; v# |. e) ~, F
6 }0 x* {6 _1 R0 Y var parentNode=node.parentNode9 p7 \7 a1 W& ], s4 v% F; h
var parentBgColor=this.getobjstyle(parentNode,"background-color");0 o- T: y9 S/ f$ ]0 K4 B2 L
& r5 U0 S# o2 {, q- A5 w9 ` var isLast=false;
s+ m' U* o* f" J3 o
0 R6 `7 v9 [0 o8 U* m0 I while(parentBgColor == "transparent") % R9 r* _3 @/ ?9 o' O* ~2 ]
{5 E# F) e* o- I. ?( k) m( b! D/ s
( Q# b% b9 I3 H$ u8 W# R0 U
& a' D( ]; u* I$ R% |4 p4 v& U if(parentNode.parentNode == null)2 [6 O, d, i; l1 }" O2 b
{
2 o# w/ `2 B* P isLast=true;6 r; |# e6 t* l2 o0 y+ x
break;
; K$ r% H2 Q5 B" _5 Y% L }
# x" v5 f! K: L. h( r0 d9 c parentNode=parentNode.parentNode;
# Z& @7 Z& q- }, r parentBgColor=this.getobjstyle(parentNode,"background-color");/ a+ S! t8 |, I
( \. W0 ]( }; G% P
if(parentBgColor != "transparent") $ }1 i9 e K; B* r/ l$ j
{, _0 K; m8 I9 i" O4 `) `
break;
8 p+ Q0 r# U. m9 p; K }
9 C T$ }2 G1 {. J }
! f; I6 a! E; J/ Z% i if(isLast)
+ |. u* }' q2 @$ a. n {/ C. s) \. s g( z
if(debug)& G! J6 t% E0 ^& A( f9 b
{9 u* V& i) ? Q" Y0 M% s3 U
alert("last!!");
1 C/ U+ {0 @( H4 y4 e }
& w" [3 U: Y/ X/ d7 z6 f7 G if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( D- N& _' h* P! ^$ H
{% [3 q( C9 w" W3 V" A
orgNode.parentNode.removeChild(orgNode);
) m' J" i' S+ `7 V$ w* S, ] }4 H$ A! t" V3 [& P: P% `
}$ u0 B+ y; B4 F
else
6 |: l4 T, J/ g- V {
0 \+ @, ^- z9 Q$ {& L* s if(debug). e. G' z) O4 r8 w s. L
{
9 }2 v0 }2 E' l/ ~ alert("compare color and parent bgcolor!");! `/ `/ z( @; O8 A/ r" ~
}( j" s% b6 r8 y' s# L
parentBgRGB=getRGB(parentBgColor);
+ H. x0 x" p3 j1 a9 ]8 q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
\; j a7 p+ V5 h* K {
$ C9 S1 `6 u o( X5 g! o/ F2 S orgNode.parentNode.removeChild(orgNode); + F) e. {4 w+ _
}
2 `; ?5 v" V$ O) I1 }3 ? }$ i2 b! U8 v' w% b( V* e5 j$ a2 L
}
3 [/ V# T2 g4 t& v2 S3 k) T- ? }
9 i% _, H/ W$ W }7 X$ v( Y3 b/ ~6 R& R' n
}
! p2 Z2 T( }4 W% J. k% I 2 z* A" h: z! P6 o' @6 P. c, J# S, q
6 O6 O' ?: @( `9 d
var itemFrames = page.getElementsByTagName("frame");. { J. e/ t$ H% k3 ?
var itemiFrames = page.getElementsByTagName("iframe");$ b. J( H& G2 E6 E
$ g; F( u$ I" j
var frame, iframe;8 z& y2 i6 u2 q( {
if (itemFrames.length > 0)
, b% p, b |. r% n% t" s" \ {
( k6 W' J5 c( k for (var i = 0 ; i< itemFrames.length ; i++)
/ n, E- \0 n& r1 q! t% s {5 \+ U3 N( e" r2 h
frame = itemFrames.contentDocument;+ W6 O2 v% Z) Y! s$ `
this.RemoveHide(frame,objname);
: a, Z a. S; x0 u2 v }
( o' k% K+ k0 s8 n6 p; {- ? }5 S" z: P: o+ \9 k# z: F0 R% I0 |
if (itemiFrames.length > 0)
3 _3 y+ {7 D2 Z) p2 m* d3 n {
9 e6 Q$ T/ B( H' _2 ?: Y3 o for (var i = 0 ; i < itemiFrames.length ; i++) , b. L7 j3 V- b6 s6 {9 ?
{
7 g& C0 A. Y, X% p" u- n. | iframe = itemiFrames.contentDocument;, m0 j7 ^ E& K: l6 i% w
this.RemoveHide(iframe,objname);
% l9 A# L; Y* Z" ~( r }
2 j) G5 }* w2 n( \0 i } N! P& M6 E# j. h, R) ^8 V
}4 i0 z e; j+ P$ n/ O
catch(e)
. C: V5 J7 J# [. t {4 D# J: l7 H! [9 ^* e+ f* t6 C
if(debug)* a. R$ R; k1 S% e% ^. Y
{
# q) x: z% I" H! W2 f* b5 ^ alert(e.message);3 R2 j6 X# v1 h" x3 F9 {" G
}, p* K9 P* N7 ?* p2 {+ j/ w
}
3 }+ b* a2 S' H9 u# V }
3 o$ V( H, h: O3 a / w7 {* U; ?, l" c' J. J
}
8 i6 Y! N9 C/ M" v
p9 B" F/ r( Ofunction getRGB(colorString)
- k) U+ ?4 C* Q% I( y{
$ E. i3 k0 N$ T/ _ e- H5 Q$ a7 g var RGB = new Array;5 @/ R d& x4 p- C9 }
var tempSting=colorString.substring(4,colorString.length-1);
+ M+ }8 C1 b$ e. ?. S2 W var tempArray=tempSting.split(",");9 a2 J8 k2 W6 b, Y, D3 }. `
) `* U2 h' w. I- r RGB[0]=parseInt(tempArray[0]);
5 y3 n4 ?4 w- Z RGB[1]=parseInt(tempArray[1]);0 \+ L8 p2 c) C' e8 F/ O8 G
RGB[2]=parseInt(tempArray[2]); |. ~0 M: ~9 n. q& A
3 g( s0 X$ a( N- x) O/ R
return RGB;8 o, d' P- _' ~. k/ ?
}
6 e7 L" F! \; R2 Hfunction keys(evt) * T2 f; ^* r0 j8 r
{ 0 ~, ]# `% ]; @# @
if(evt.ctrlKey && evt.keyCode=="81") * |# Z# C$ n) Y+ K6 _
{
' x/ g1 ^! Q9 }# _) b+ w$ L CleanHideObj.on(0,1);
! p I7 @* j, s4 { _/ R! S0 g9 | alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - `7 L, Y; m& |! b, X% _. c
8 W9 I2 Y6 p/ T* W' U7 Z A
}
9 m# ]( ^$ p% r( P+ E- p$ v _ }
8 A/ Y% K+ N$ Fdocument.addEventListener('keydown', keys, false); # W4 c2 \2 X* v6 `7 q
GM_registerMenuCommand ('Clean Hide',. o6 E" r4 U/ q9 B& k
function(e){
+ w' _9 j0 E, H: N$ z' F" W$ vCleanHideObj.on(0,1): ]) ~, e- D# v$ m X" M x% u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% `" I: k5 H! x- w! i2 t1 K% o, W});: q, _, _1 `, p; b- k* D; }" {
|
评分
-
查看全部评分
|