|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
0 e1 W' A f6 k2 |$ @; E0 x4 F+ G' K$ e R) t" o4 F+ {$ u
火狐插件,用猴子 Z/ ^2 F7 [% `- w9 a
" B8 d& J& W- o) d3 k0 Evar debug=false;
e9 M2 n' a- F8 wvar CleanHideObj=new CleanHideClass();+ i2 V- |# B4 N
3 y, p) v3 z; q: x: ?( B+ Kfunction CleanHideClass() . f7 A/ i& Z$ Z/ m" n
{
7 D+ `. {% o* {& x 3 i: H3 W# \( W7 A2 p9 J Y
this.on=function(id,bMZ)
C9 e- {' }, ]% ^3 c {, w# v; ] ~$ ]5 N. F- h/ g
) |, `' L9 B; \% |2 A! p if(id == 0)
' Q4 R, Q" h2 `0 R$ b5 s {4 L9 a( P" J2 u+ N
var page=/* document.getElementById("content").contentDocument */document;
* q2 e% z; F, E% D9 |$ T this.RemoveHide(page,"span");/ f4 f& ?1 p% `/ E2 j1 v4 A
this.RemoveHide(page,"font");
4 R! j0 N% l* s3 B! j7 F+ o this.RemoveHide(page,"div");" I+ s% k& `* v# u/ P
this.RemoveHide(page,"p");
# y' @' M5 r1 l/ A j& y6 l 8 O/ I% q0 k/ O* A$ E1 K6 P- w. K
}/ o1 B' W% E" q Q3 b
/ O+ o# l: L' i$ F) x: [ }2 T! y% A, M2 j$ G* a# T7 }
this.getobjstyle=function(node,prop)4 f+ g$ N8 L1 C) v4 E q8 G; y
{9 w1 D6 t+ P7 j5 b' E7 C& f* C
try, |: [3 H# A3 \- H7 w! z
{/ r; H9 w8 j% w5 _' ?; G
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 D, }5 J8 L% e2 ~" _
}* Y+ h! ]' q3 a$ S2 ^0 g# V
catch(e)
8 f4 `0 G J3 }% S; t {# c8 y f" H% Z2 M+ k
if(debug)
- ?7 n( A8 p( F {* x7 E H) e5 b: f) c
alert(e.message);
a+ L L& Y$ S2 j }
$ w- _' B! l, H7 s 7 i% W& [" c( e/ P6 f5 x7 w
return "200";
3 z; m8 |$ E2 ~8 w( }7 ] }
6 ~" n$ `. j" I9 } }
* W+ U1 C; m0 B8 y( T
' V$ }5 e# y# z7 }, c( ~' o$ r3 r6 F this.RemoveHide=function(page,objname)
# Q: Q7 I9 F' b) h {
0 v, a. o/ Y% |# B S try
4 |4 A$ {% \% i8 M" g/ E# ? \ {5 K+ H, F. u& b) f: C4 s
var minValue=15;( Y( w/ V1 R5 o9 O! v, n" f" E
var objs=page.getElementsByTagName(objname);
* u7 r5 g8 N. F7 m% x) M0 ^% M% T, G2 O+ \5 ?+ v
if(objs.length == 0)
; n' o! o. ~) [$ A& R4 P. [ {+ H6 c) C* S, @% z0 p" N3 E% P" ^+ u
if(debug)
9 k" `( @; {& T {2 @* Z* C" \" }" O% K
alert("no object found!:"+objname);8 u: l7 r0 T# w" C1 b
}7 o" o( V5 l5 {8 y; v
}
' J/ M; ~0 o2 F6 _4 }% z2 \ else
+ E& L$ X' E/ r7 Z {
, n& u4 ^0 d7 G, h) H+ _- n/ O
# z/ S$ J+ Q& o for(var i=objs.length-1;i>=0;i--) k2 d9 [& K& E1 I" B9 D
{& c8 E) n5 m9 L* m1 \
var node=objs.item(i); + R U A6 R1 G1 x5 e/ Y- |, ]
7 I$ h" z, ]* n% a. I% Y # F) @; n, {; R- C; i! }
if(this.getobjstyle(node,"display") == "none" ||3 {0 {: ^0 l) g% R) w# F
this.getobjstyle(node,"visibility") =="hidden" ||6 @& F2 g! l+ e8 b
parseInt(this.getobjstyle(node,"font-size")) == 0)
8 |: o- j! `% ]* z {8 L, { i" @- w5 y; W
if(debug)
0 ]' E) t( T% n0 Y& p- }- i8 [$ k {
, _$ b1 `1 S0 K. ` alert("remove invisiable!");# c8 V) g; r e. p: C6 q! o+ ~: }
}9 v: P+ a" }! w" N- S6 C
node.parentNode.removeChild(node);0 D8 b/ G6 t5 V% N9 k1 d
! P1 h5 X& U# o ^. `" ?7 I% m! s }
, }+ m# r. J( W else ' G7 u9 E+ K1 M' e1 F$ a& E! t
{$ t+ ?( |9 j+ H
if(node.parentNode) * U; \! |, i; N4 {/ o+ L8 s& G `
{" Z8 ]9 ~0 ^3 H1 J$ S: Q" E6 o
var orgNode=node;
* }0 ~' e4 R m8 d var orgColor=this.getobjstyle(orgNode,"color")
) F& s! _+ m2 ^- b var orgRGB=getRGB(orgColor);
" A# a! @, S- l
2 ^% _8 r8 a# M4 v" [ var parentNode=node.parentNode0 |' V1 h4 C: ]& F
var parentBgColor=this.getobjstyle(parentNode,"background-color");7 f: C6 ~# g- |; b; z- ?
% ] Z! J3 N! K) @ var isLast=false;; u6 a' p) a0 s- \ ~* {" y" _
- U5 ~* o* ]) }9 g
while(parentBgColor == "transparent") 2 ]1 o8 I& m) Z# b) A
{
# d4 g: v) M6 U' B- T# I$ d
/ `7 {' _" o; Z, @* O1 v 2 M1 H0 b" ?" K5 ]& e% T
if(parentNode.parentNode == null)' t* m: w4 s4 u0 Y
{; H1 i/ y% O+ g/ S
isLast=true;
4 b* c! i' r; E; w break;3 g+ ]2 N4 W$ ]! _4 J! l! y; w
}
& ]) n* x- Y# E, o- P/ Z C7 E1 i0 }' p parentNode=parentNode.parentNode;; P% V ? X$ X8 K
parentBgColor=this.getobjstyle(parentNode,"background-color");
) d! q( w6 D! Z7 ?" b
6 @, _0 B. N8 V5 V! Q8 w if(parentBgColor != "transparent")
% A& K0 D+ _3 t5 |' W {' n# |1 v0 W( E$ w$ j* p2 P7 ]
break;$ D5 d2 g. I+ E; P. [9 Y
}, j& X( v: \! C# r
}" a2 o' m2 y& k- ]( N& b0 Y
if(isLast) 0 Z9 t+ z$ E9 L$ ?. W1 W! g
{# l+ f; b; S1 H$ B6 i3 @
if(debug)( A" k, U. j) i0 @& [
{
9 S# l5 l. u/ z& {: h alert("last!!");4 d% B+ [# l8 Z' x
}
! D/ c0 r. ~7 s$ o$ l8 G if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! F; o8 {2 x! L. N/ b3 y {7 I" F9 N0 I$ L" m2 t# O% X8 g: C
orgNode.parentNode.removeChild(orgNode);
4 T0 l2 U- ]2 x/ J# Y0 {1 M }
* i3 y" V8 r! ` }# g: y/ D4 p0 J. F( y
else2 a. K+ L, n) F
{
- Q6 l2 T+ n7 f7 @. Z if(debug)
: U7 D9 j) _* m7 c {( ]' C3 }" J5 w3 f, J; T, z9 M: T
alert("compare color and parent bgcolor!");3 Q; t: h" A7 k
} r9 ]! H5 B* a/ f
parentBgRGB=getRGB(parentBgColor);; F1 j/ N& o2 R: l; m8 k; P
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 R1 S4 o8 z. o% F& j0 \$ }3 n2 G {
" U( A: F* c/ W. k6 K. X p orgNode.parentNode.removeChild(orgNode);
& \4 y$ ?. `$ m7 _ }
8 B) B0 d+ @8 Q1 P0 c/ X& k: ~1 _ }
/ l2 m: p9 [: v }
8 G S# k: r6 m2 }5 v2 I1 B2 G }
7 d- q3 B) C0 u5 h5 @. Q! { }
. k1 k) R* ]5 A, K }
8 r9 _. n& K" k8 b1 P2 j k ) H8 e2 J$ n; g* X: D; n; u4 I
; v$ o" J/ L+ w0 W var itemFrames = page.getElementsByTagName("frame");
* ?) v* i1 ~1 E# u8 t" Z var itemiFrames = page.getElementsByTagName("iframe");" l7 ` X' {" r" \ W
1 u5 [! Y8 _* d# a) U1 n' m& M
var frame, iframe;9 {& i8 z) M7 [( E% c2 B) C! I
if (itemFrames.length > 0)$ \6 z4 {: P. P; j( d
{
' o8 g% p2 b: @ for (var i = 0 ; i< itemFrames.length ; i++)
x6 T. C9 t( D8 M- L6 u {
3 x4 E, O/ e) U( R4 J frame = itemFrames.contentDocument;
8 m/ E1 h3 i7 D5 Z8 y8 | this.RemoveHide(frame,objname);
, `: s5 A% q) }* D( r5 H }
7 x* W1 M0 H% |) G/ G$ G }6 a. x7 Z8 z7 T; }& d
if (itemiFrames.length > 0)
: \5 j1 @6 K# A {8 i( y/ `( y* @5 u6 @8 s
for (var i = 0 ; i < itemiFrames.length ; i++)
r) b" l% k7 ?7 N+ t {# ^% p* @9 _1 b; @: O* B- E [
iframe = itemiFrames.contentDocument;' ~5 e' A6 P# M( O- E
this.RemoveHide(iframe,objname); 5 u+ ~+ N! L% E! N, d
}- ?) P5 M3 _- x) q& r( U, u- Q
}4 ^. R5 n3 _! F# M: U
}
" X- A6 q/ o' ?/ I7 e& J catch(e). k2 q. x$ x; V, z/ y
{" ~8 n. _4 ~' m8 Y
if(debug)
^1 |, c+ ~) L }- s* n! d4 S3 U; R, k {
1 B ]" R2 P c% P2 c alert(e.message);$ |! ^5 }" K/ T
}
4 u% V" L* S: d- c: h( Z/ a! j/ a }7 S# |* L# Z. E) ~; p
}
6 p5 |: ?' y5 f % K( h+ z9 W- F$ t5 p; ~9 W) O
}
0 q4 n h3 t0 ` J$ l: C6 v; j2 ?/ f; n4 G3 x2 {+ r; \
function getRGB(colorString)
* J: ?6 T' X% z7 d! j, u8 R{
1 N9 D+ d4 D* X4 ^- [8 C! F var RGB = new Array;( d* A& w( _5 }
var tempSting=colorString.substring(4,colorString.length-1);- K2 X! e, Q8 X& Q+ a
var tempArray=tempSting.split(",");/ L% J, B% _- n: s, N. z3 @6 Z
* m( |' ^1 V+ r) q/ H
RGB[0]=parseInt(tempArray[0]);
" a2 a+ v* a+ i. F( x RGB[1]=parseInt(tempArray[1]);
' |+ f( O. R" g) ?( n RGB[2]=parseInt(tempArray[2]);
! t6 G# }) X& Z' |* k3 F
$ g+ k6 T4 L( T% y9 b* k, d return RGB;7 ?( P' z( ]3 O, f" W: d
}0 t$ \# h# A G4 M# M
function keys(evt)
g6 u6 [# h5 n { 6 p2 D ?) V( [. c8 T/ ]
if(evt.ctrlKey && evt.keyCode=="81") 7 p8 G4 t- W V7 f: o
{
6 ^1 k6 F; i. e* o K+ p+ | CleanHideObj.on(0,1);
# f0 t [& g9 e alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * _/ @5 s) A6 y- [2 N
) v2 c9 U/ V) Z6 h
} 8 g' K2 r4 u( K6 e4 l" o
} 5 l* A4 ]. b3 x9 {9 Q2 }6 g m
document.addEventListener('keydown', keys, false); : }0 w$ J( |, e) ^! o e
GM_registerMenuCommand ('Clean Hide',! L. G' Q z, Q8 f- t+ p! a
function(e){
! a% P3 c. O2 w) QCleanHideObj.on(0,1)
. `/ {1 C% b* V7 n, H/ Valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( v5 \, v7 E* X# ^: O8 E0 p});( ~8 f0 f& _3 w8 O& b" c
|
评分
-
查看全部评分
|