|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; @) ?# v% o: x: n. S+ k v @& {/ O; J! a* k8 _
火狐插件,用猴子
5 r0 Z0 a6 S. Y4 G# w
/ J5 H7 W. k% t% Y* ~% }var debug=false;
3 Z- o! y q8 E) xvar CleanHideObj=new CleanHideClass();3 X. d$ t/ Z- E. n, ~- `1 h) f) V% h
$ E U+ S# _2 t9 E: w% Vfunction CleanHideClass()
2 B+ m1 E; ]- w* G1 @2 t{ + @9 Z5 y2 N& @2 b2 p& j: g9 L
5 Y5 ^5 n& e# Z; v this.on=function(id,bMZ)
g" B7 q3 h6 P6 e {
9 ~+ k" s$ A$ t. Y7 ~% T, H
5 `& F% v8 p3 x8 c: |; f5 G if(id == 0)
% {" B- x' X3 k* }9 o7 @4 n% y {3 z" B8 x6 s# A! F: {
var page=/* document.getElementById("content").contentDocument */document; e: X6 e) |2 v1 u6 |/ c4 J
this.RemoveHide(page,"span");
" x: q" ]3 C1 E& r c this.RemoveHide(page,"font");
9 p+ j) d( g) q2 I- X this.RemoveHide(page,"div");
! R1 H" k8 g4 `& c$ Z this.RemoveHide(page,"p");# D8 N/ Z& i$ `) [
% f7 o0 O+ k: k, g4 h8 ^
}
& R0 @/ m p- ?9 r: W6 c3 ~# q4 d5 p 9 o2 t B9 } B6 J/ D
}
$ d+ }1 \" }" Z1 B, r1 ~# L5 u3 { this.getobjstyle=function(node,prop)
" L1 N3 |' t6 t R8 S$ p5 m5 o3 j {
. S, N6 [# A! C+ h8 l( M# A4 y: s try
. N' _" E5 `; w/ I H; E" X: v {
C/ p5 \5 ?" m( I2 x9 J! R' | Q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 [( R# g- D7 l! r% Z5 Z }. s2 P- D- _0 a# m& P
catch(e)
8 p! ]0 t6 m |6 j6 v1 ?/ ^ ^7 A {
# E( y' M; [1 _0 r8 f, x if(debug)
# h5 p$ c0 b' Q {3 P$ B* M$ n/ z8 V9 j' O6 ]
alert(e.message);% _& O" J# M1 p
}6 T; h, q8 a3 D7 s
2 ^$ l$ W8 b. I
return "200";- Q: }* H9 [* n- \# [
}
' F* d8 Z+ w, O }
: F4 {7 o! _# E) I N( r6 m: M
2 |) B0 Z+ \9 G& D4 Y. o3 M& Y# ~ this.RemoveHide=function(page,objname)
& f6 ? f% @( M6 f) N {
v$ F# b4 \: B' o try
0 z0 G; D6 c! c* X& |9 W) p {/ ]1 F5 v% N! ]2 L& B3 C- ^9 c( ~: C
var minValue=15;. G, o0 v" y# x
var objs=page.getElementsByTagName(objname); " L ~; E; a: b3 B8 u* a
% w9 v2 p3 r+ P |0 [! x! \: J
if(objs.length == 0) 0 O) f) g; h! f C5 o+ Z0 [
{
6 d' g% Z/ T; D- a w* o p if(debug); h4 S1 R% m) x: k
{
8 X+ ^- [% W: J* u. d3 f alert("no object found!:"+objname);: p0 s% E3 M" u2 `! e5 H: e! B
}/ {8 u9 P9 w0 z# P4 F
}. `: @/ N5 f% p/ s; o
else B& l% m2 }" Z/ I/ x( u) W
{" T% ^9 Z% ?2 Z# r" A" V8 n
: _9 K$ {( ]; H4 Q7 j6 n" `
for(var i=objs.length-1;i>=0;i--) 2 P5 h& Q' I; ^9 l' i
{
! V$ C* x6 k& x8 ]0 ? var node=objs.item(i); 5 I3 \% V) B7 b1 O5 w6 x
4 W) \; _- q) G" x! t7 P
0 ^* `! n. [, k/ Z5 z4 i
if(this.getobjstyle(node,"display") == "none" ||
& z& y5 D% ^+ {& n& w. {- L# m. U this.getobjstyle(node,"visibility") =="hidden" ||
5 L: L. t G3 Z5 K6 i, e3 ~1 Q+ d+ O parseInt(this.getobjstyle(node,"font-size")) == 0)
6 a, E& V: P+ @; \ {, b9 d& q; Z. t- E( A6 S C
if(debug)
" l: e0 m' y+ k1 a3 Y {8 O" o' H G" O. J
alert("remove invisiable!");2 h) B& ?; j5 I; q$ P2 [; a( W( q$ D
}2 D* i2 e6 U ~. Q2 {$ q2 l& R& W
node.parentNode.removeChild(node);) L4 O% i2 j4 X+ P0 U
6 z- b* }9 t5 f2 E6 b# ]+ n }
' J" w. W1 }) U5 y( n else
: _% E0 X! [/ e* ~ I {
, ~2 y- |4 O6 A8 P4 \6 q3 r( ?5 U if(node.parentNode)
; H4 ]" M7 s: s/ J {2 R w4 m v& J& Q/ F
var orgNode=node;1 [( l4 W$ D& _3 W* Y
var orgColor=this.getobjstyle(orgNode,"color")# w' c* Q9 f9 _, [6 {; V: {9 x
var orgRGB=getRGB(orgColor);
) N, S% J/ V" m
9 Z- W3 n2 \! D7 a, r# L& i" r var parentNode=node.parentNode
% W1 f0 o/ M; m9 F5 k var parentBgColor=this.getobjstyle(parentNode,"background-color");( G7 \$ i# ?& g4 ^
+ J4 u+ _9 M/ o1 R
var isLast=false;
3 s. \1 Y( l/ O( Q' U+ ~3 D8 T
6 }, N8 g' S* a8 v2 R4 C9 e6 _! u while(parentBgColor == "transparent") 4 E# H( ~( {; U* t3 C- L
{& @$ S0 y7 M6 n, O! q& O
- ^) n5 s3 S' E7 [, r% L7 O1 ]. k
- i) J! y% L3 a if(parentNode.parentNode == null)
/ |: g; K2 S$ E% H% { {0 f, Z# w8 n9 e( ^7 y# m
isLast=true;/ K# A2 `/ d, v; J6 ?( Y# f! Q! p
break;
V4 a7 B3 @0 s9 U3 X) W' z8 t% T }
8 ?2 m& U9 ?; S% x parentNode=parentNode.parentNode;
* V- E; R' }9 O5 j( V parentBgColor=this.getobjstyle(parentNode,"background-color");: ~& `( I! M6 H; ?2 b1 `5 t
+ U$ H4 E/ x# y" s. ?5 P if(parentBgColor != "transparent")
1 T- u8 c+ Y, g1 u# T# X {
. L. h0 ^, n3 h1 k- ]- ] break;$ u# ]1 {! g5 e# l0 a
}/ `+ A$ g% R# Y3 ^
}
! D0 E) d! T+ W& f if(isLast)
5 @$ `( f2 m; F4 ]9 }' I- B9 s# x5 Q {
& R9 Y- P: t- Y- G- m/ e if(debug). z+ {& Q k% k: Q
{
( e, E# R4 ~0 l alert("last!!");
" I6 b' T4 Z' W) b' o V+ [ }' |3 f$ F6 d; _ E' ?, V
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& _* F, J" z* B% t% D
{
- g, m/ f/ p9 R$ I& O: l3 e/ S6 V orgNode.parentNode.removeChild(orgNode);
* n0 }+ k: T2 V" f! X }
7 }0 ~9 A$ z) h5 O, c* { }: F7 a' `* B; H
else
7 d& [- ^% o# i {
) K& k" ^" A3 V% K1 a- ?; I if(debug)
- t% ]1 i8 `6 l% E {
! X1 ~8 N4 N5 y; K3 u( J alert("compare color and parent bgcolor!");. m# [# u' E6 [- A& W
}; ^ b$ M2 _7 M% z. Q
parentBgRGB=getRGB(parentBgColor);( A+ ]. N( E' D2 Q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
: e W4 H/ A1 L- K* h( f' @ {
$ D2 T( o! p9 R; j! A orgNode.parentNode.removeChild(orgNode);
; y Q X1 ? T4 N6 |4 e; X }
2 L% G( F" m: \- ]# f' z$ b$ b }
. ]! I, Y7 b: q- ]* W& } }
9 t6 g4 l( _( z }
! i% b4 V! E) ?7 m3 o! a e) h }
% f* e; k' U% d) ?. y; a: M! U1 X }
% A0 K% W6 _1 h# F5 j( ~3 r + y. [0 q6 c( h
5 w8 E( J% v K7 S var itemFrames = page.getElementsByTagName("frame");
$ c9 ]. s7 J O& A! j, r var itemiFrames = page.getElementsByTagName("iframe");
; s, V6 {. N8 K- [- c2 F
/ a( X8 e' L7 K( I' A" ?3 J' { var frame, iframe;
+ T1 W h; \. w) y: f if (itemFrames.length > 0)$ ]; S5 d% z* Y5 E
{
1 t0 `! }' v+ e+ P- n/ o0 P* U for (var i = 0 ; i< itemFrames.length ; i++) # m( p: S$ Y8 f0 S5 h& ~" c) e
{
. k6 l8 o+ [7 g: p frame = itemFrames.contentDocument;+ a- Q1 w1 v, @
this.RemoveHide(frame,objname);
1 G2 D2 m+ W& q$ e# u- F% r; g }! u4 x8 o, c5 k1 o7 X4 N
}; Y9 d8 F4 _* }3 K% O/ F! w
if (itemiFrames.length > 0), h- R/ h. q8 a9 u& D- T
{; s% t+ Z" a: Y- O# K4 q3 S
for (var i = 0 ; i < itemiFrames.length ; i++) + B, \+ ?4 G1 q- b& |/ A
{
/ m6 p$ J: i' ?( Z& b$ [ iframe = itemiFrames.contentDocument;9 Y! p% u9 e: ^2 P w
this.RemoveHide(iframe,objname);
: r2 k5 X R, T$ U }
$ s) M6 u4 m: Y; ` }
1 S7 _3 U; r5 L1 w: u/ K }
: |( F$ B' \# w catch(e)
! J5 @* O, M p {/ J* I1 F4 a& s- _) S
if(debug)3 P, ^& ^$ d$ z, G+ \4 `; R
{
8 F, y4 l/ D6 v/ O: c alert(e.message);6 k" \7 d% ~ j
}
9 k5 x) O$ N; z3 u- u6 g& `' |% V }9 w) g& c8 Y; Q& P: A
}- B: \( J5 o3 j/ P) L
% \1 M3 G" z0 z- E
}
9 o f" w1 ^8 ~) Q
& U% r% F- n5 @$ W6 s& i8 U1 \function getRGB(colorString)) K$ Q3 o D, Q4 D/ i) ~. D
{2 T! ?/ v1 o m% X
var RGB = new Array;3 {/ z. H' t+ `) y3 C' \
var tempSting=colorString.substring(4,colorString.length-1);* Z- B5 M9 N: B2 X! W! J
var tempArray=tempSting.split(",");+ C4 V& n3 t3 v5 \
: \& ~, w4 A7 X Q RGB[0]=parseInt(tempArray[0]);/ _ a' t0 y9 N: j. e! o
RGB[1]=parseInt(tempArray[1]);8 X9 d. x! S; U. U4 g5 w
RGB[2]=parseInt(tempArray[2]);* t6 |8 F; {' _2 B* r, D5 k- v7 c
) Y9 I* m6 v" B$ o$ I$ H
return RGB;# X; L7 P$ l5 b0 }
}& I$ x' p) v' A+ l# J' j8 i6 `
function keys(evt)
4 ^1 ~+ ~3 P R {
# G( R7 k5 V7 R' J+ f. l, }! R8 v if(evt.ctrlKey && evt.keyCode=="81") . D S2 ^+ w. y
{ 5 `2 p$ G: z X6 h6 f, ~
CleanHideObj.on(0,1);9 V" r: j' d# Y; [
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & S* K: }8 P2 x' O2 A
, e: w9 z6 u# o4 _0 ~( G* w } 7 x9 Y- H+ v( M, e/ B. N
} 7 b8 o" P/ o7 s& o" w% w3 ?
document.addEventListener('keydown', keys, false); 1 N) ?+ }5 [: g9 |) h' N
GM_registerMenuCommand ('Clean Hide',
. B' s' z8 V: C% W- qfunction(e){( ^3 \5 t8 L% G+ @1 f
CleanHideObj.on(0,1)
9 Z6 L- H" C6 q7 P# @alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");% f; s5 D& @( X
});/ f1 i+ n1 q' m* K7 o9 ~
|
评分
-
查看全部评分
|