|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 8 U; f+ u; h2 \: X6 r
: \, u; o& |1 z1 c火狐插件,用猴子1 o4 K" n! R3 T/ A6 g! t: Q
: O f6 M! s+ }var debug=false; 3 \2 G* c0 v ?5 p
var CleanHideObj=new CleanHideClass();
; O+ q* }- {; m: i! c, [. b9 s0 u" K% a% O, M4 G
function CleanHideClass() 2 k. n9 @; B) o% B2 M& |: ]6 C
{
6 U; W3 f' Q) S
% ^- ~/ ~9 G7 s0 h" i" ? this.on=function(id,bMZ)
. A, i8 y$ d, `- N {5 m. M/ X \% h
1 C, d0 B/ x8 ?6 K
if(id == 0)
, K$ f3 p& R5 X1 Z; f9 D$ m {
' ?. Q7 l$ g" L5 m; ~) }2 [: D& H3 E var page=/* document.getElementById("content").contentDocument */document; $ P; [% K: i+ g. ^" I
this.RemoveHide(page,"span");3 J6 L7 n \" \5 X
this.RemoveHide(page,"font");
6 U4 z" n% f8 @. K this.RemoveHide(page,"div");
: S) m" z; w6 ` this.RemoveHide(page,"p");/ n( {1 D, j. G2 V9 y2 u2 B
; h" {8 B" A2 S# N: x8 ] }
' C; J9 Z; X/ h7 c 6 x( W- q r7 @1 j2 d$ F; ?% z
}
/ @1 \3 D+ Q- q5 ]' _ this.getobjstyle=function(node,prop)4 V+ f! K2 J1 _# W; ]$ j
{, L9 `+ e: y: @$ }" I
try
. x6 [. T7 n" U d3 X4 U {8 Z- V( C+ f1 E2 a: q, s! ?
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);! b8 [" }: z: L# n) l5 W
}
& r- w2 }, Y9 v7 L' @- F catch(e)3 Q0 o) k8 o$ E! e' [
{! r3 I- q* L+ U; \* l' L( p5 r M
if(debug)0 Y: c: { f/ d
{, ]3 P2 \) ~1 ~
alert(e.message);# k* [" v: ~' J% U, T7 S
}
( |/ ^! y: V* t1 ~ 1 r5 Q0 N- B: q7 K2 H
return "200";/ U5 I1 k( b% k) N c
}6 t2 g+ J" I- @' A7 e7 {6 H
}
" A9 W4 x3 L2 {9 s0 @ ( \1 L3 {" v; t
this.RemoveHide=function(page,objname)) H, {) v1 t1 g# j1 J
{
! y) a. J# W- Y9 w try% S K0 f7 }5 w; `% n. [# q; p
{) X7 d& i0 o* f/ Y
var minValue=15;# Y5 k7 W' ?; x
var objs=page.getElementsByTagName(objname); ' @, e8 V* ?3 e( z# c
, K# C9 n2 ~& F9 B& @ _$ u: c h3 G
if(objs.length == 0)
0 T6 ~7 K1 |5 o6 g, [' }; { q {
; _) Q$ g6 K1 N T( o: C: i7 `6 \ if(debug)* I& d( ?9 q/ Q2 s6 O& \- }
{
* p; F9 O: W! ^. l5 ]' I/ i alert("no object found!:"+objname);: Q0 O$ s6 M$ @. n- G
}# w6 n7 [# ?2 e$ j
}" a% p$ Q* B% z) F
else( Q2 ]5 u2 R) y9 [
{3 e$ e- `. n9 B
3 F8 B5 D4 ]) K N, |" a for(var i=objs.length-1;i>=0;i--)
+ E3 t% ?4 `* [9 {/ D {
4 Q& s% n+ \) J8 U* }2 u# B) x var node=objs.item(i);
% I7 o9 g$ T( _% H% f # s" u: A4 M+ V- N6 d) u! E4 _
% s0 ]6 Z9 @. k, f) { if(this.getobjstyle(node,"display") == "none" ||
: N! Y# r& h: u: Z. Q7 h* a7 I this.getobjstyle(node,"visibility") =="hidden" ||4 D* O' v; G" R* ?8 |6 ]
parseInt(this.getobjstyle(node,"font-size")) == 0) 8 k7 E2 V% n( g3 q+ @7 e0 d9 ?; M
{
% `( g! r& ?" @2 i5 Z if(debug)
% @, l, s% B3 n; p {
) C0 k! Y/ e* n alert("remove invisiable!");& p8 ~8 u# C0 @$ a! _: g% S
}
: |9 j0 P( I6 _" K. D' V node.parentNode.removeChild(node);( @) b* h3 `0 l
8 {2 }9 u, ~4 V! o+ K' U
}, v. U7 J( @0 [! D5 t* f: W
else
3 r/ J$ X' @7 ~% B* W' | {
0 h# X( c. {8 y5 y if(node.parentNode) / o" ]% ]# X# I5 N+ p5 j
{
/ X- `5 h' n4 E3 i var orgNode=node;
: ?2 A2 k. e9 s# k" U( f var orgColor=this.getobjstyle(orgNode,"color")4 h/ w$ H+ v% [5 J( Z) a5 f0 z
var orgRGB=getRGB(orgColor); 8 h* c9 f/ `: Y8 K1 s( b+ Z, d
/ W' o" W/ ^2 j6 n# `, A8 s0 w
var parentNode=node.parentNode* t6 A; W* \* p. ~1 s; i6 \, s
var parentBgColor=this.getobjstyle(parentNode,"background-color");
& ]4 H# E, [8 z+ c! u) \0 j0 v4 U 3 m( O5 {. s0 i8 @! x8 ~1 E7 A
var isLast=false;+ v6 p8 c( n: G$ D& J/ S- E
$ n) G2 [! |' T$ x! Y: b
while(parentBgColor == "transparent")
2 N1 H" [& @2 L: I {" o% x, \2 q1 I2 n7 H# V! I
, g) t6 v- d( u z4 Q" ]( s
; z1 f% E' n2 A. h; I4 V6 o if(parentNode.parentNode == null)
8 a- W8 b% A* V) E {9 K3 _, ? k" j7 v/ Y) h
isLast=true;- J2 U7 h1 V7 H* l$ e
break;
. P; V, z- }. g8 e& c+ L3 I5 P( d }2 n3 x; H; ^4 a# _) ^; |8 K1 [
parentNode=parentNode.parentNode;8 i z( C4 m, p
parentBgColor=this.getobjstyle(parentNode,"background-color");
* |2 A! `7 F- o, D
$ o, o0 @1 S2 O7 x2 x$ Z0 ` if(parentBgColor != "transparent") 7 S9 b' I& O* y* ]
{
( ^8 D0 W% A5 S4 Z# h' j! [ break;+ |4 j0 b0 ~: m, S$ L
}
8 y: z! G5 O/ i- d4 |) R/ x- _ }$ X+ O3 A, ~) w' `
if(isLast) - C0 ^$ l# O! T. L
{
0 w9 w1 M0 o# u, D5 `5 E if(debug)# |7 m( P) C' \
{; o- w: [4 T1 C6 f8 S5 q
alert("last!!");
2 ]) ~! r: z& r1 L }
1 r4 J+ c3 x* h' ~ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))6 {3 A' C5 [4 l& O% B
{% z3 k: F- F% M$ b
orgNode.parentNode.removeChild(orgNode); 1 T" H3 O9 |" h, B' ~* q/ g! m6 a
}5 d8 [+ o. A. N: H% W$ u4 G" @& W
}1 Q' e3 b+ S2 g: E
else$ G/ H2 B0 n4 G e3 P9 C8 `6 \
{& S4 e* H* H# a5 c4 [8 H
if(debug)1 w4 m0 x% o/ l n' e8 i8 G2 G, S( O
{8 ~$ K y- }: _5 j8 O# ?
alert("compare color and parent bgcolor!");
* g* q* [. E- o0 x- x }! n5 _6 Z# g! [& v* J
parentBgRGB=getRGB(parentBgColor);! [8 D/ v& [- s |4 P: m, [
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
" V; e$ Z: v0 p, O. b {
" l5 P f4 `+ y" z7 m+ Q& x1 N* g orgNode.parentNode.removeChild(orgNode);
5 ?% {' ^' z2 S) l0 E }
! E. p5 n# q9 G+ M8 ] }2 O }
3 A5 V0 B" G5 W3 U4 W; v }" O" }' \0 B! O2 q; \( Z* K
}# e2 Q9 c4 H" d
}5 f: H# ~* z, z5 a/ s
}
" y6 H7 R: H$ `& _* z M, y" G% c " O8 d5 ^9 L8 }3 [+ d
& ?0 V$ ?; G% z6 T4 n. S, r var itemFrames = page.getElementsByTagName("frame");
1 d# S$ G/ b/ c+ ~ var itemiFrames = page.getElementsByTagName("iframe");* G$ |. X3 B F) f
" J) g9 Q2 d( H3 U5 l
var frame, iframe;
2 H; N# N: B- k, b' J if (itemFrames.length > 0); d* ^3 M7 v1 y" C
{
1 y1 J* L, A2 e; q) Q4 H8 G for (var i = 0 ; i< itemFrames.length ; i++) * Z2 n8 @' U* m
{/ j) R( z3 R6 \' \6 T
frame = itemFrames.contentDocument;
3 l& P e- N" K( q a% X this.RemoveHide(frame,objname);
' W4 G* Z$ P" d) s }+ }5 H0 ~7 Q' D" v% X
}9 `* A* ^2 C4 q9 g
if (itemiFrames.length > 0)
8 a- I8 c+ _0 J9 i) Z) w {
1 |& H! }! N# F, u: m) C2 ^. W for (var i = 0 ; i < itemiFrames.length ; i++) . k8 q. T; r' J. @+ Z
{
6 m- Q3 X8 i' D; ~1 g7 `+ ` iframe = itemiFrames.contentDocument;* {* V N* |7 G6 a
this.RemoveHide(iframe,objname); " Z; l- z( b& @6 W' ^% J
}7 J0 L4 ~: V$ W5 Y" S) u
}2 t; E( `4 K4 o# x4 D+ u4 ^- @7 ?
}
( l/ d4 b, l1 I1 w) z& y2 m catch(e)
T# P- k9 a1 l8 L/ X. |( x {1 p# ^; }6 D& |% E! d, x0 R
if(debug)
7 B8 X) w3 v5 A {" @8 v6 F8 `4 s( N: e- k- \8 e& @
alert(e.message);- b3 o) a# |0 O
}
3 J/ s/ g3 c7 K0 ~# w' J c }
8 n4 \% R, E2 s- v- q6 { }
' `) b& ~+ g# A2 L- U5 h 9 D4 R0 ]7 t! \$ X% {( |6 y) }" }
}
5 x/ a$ \# a; \) `& @* R0 |
8 }' x1 L3 H0 x- x0 {; {function getRGB(colorString)
' Y7 _6 `. E. e; H6 m{2 b$ E2 J2 N/ l2 C5 }
var RGB = new Array;2 \4 n* O$ i! U& v/ a1 \+ M
var tempSting=colorString.substring(4,colorString.length-1);8 f# m$ d' D+ G5 g1 A
var tempArray=tempSting.split(",");
' W% p( [: M: [; y
$ H0 I7 c0 t3 ?/ |- E RGB[0]=parseInt(tempArray[0]);5 Z& W% h% T. D! o0 m: P
RGB[1]=parseInt(tempArray[1]);
7 c& X3 N7 N* `; t8 I RGB[2]=parseInt(tempArray[2]);
+ Y# _7 V* c2 m+ [' g - V1 Q1 W) M+ Z) b1 D9 G% H
return RGB;
2 M( _: ?; D# W) @0 M% c* ?3 Y5 a}
- i; r; O/ `; T/ ffunction keys(evt)
! T6 j) z+ }' @0 u* N# j {
! i% B; R) T4 A+ ]2 n" O' { if(evt.ctrlKey && evt.keyCode=="81") 1 V" n/ ]1 G, `7 ]
{ 3 T( o- `% U4 v2 n, D2 o# q
CleanHideObj.on(0,1);
/ F$ i5 p1 \5 A8 u alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % G3 _0 r" C1 U; p* z. l3 b
+ ^) c/ |4 P- t4 t; Z$ H. Y }
1 E! l. K! s; S9 ^$ I9 z7 q }
8 ~0 Z4 b% ]" i% @document.addEventListener('keydown', keys, false); , i( ?2 l; \, X
GM_registerMenuCommand ('Clean Hide',
$ X' R# B' ^9 z; b8 i' L+ Xfunction(e){* g& n3 n6 ^, A7 Z7 j
CleanHideObj.on(0,1)
# _+ p4 B! _# J6 lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");. k0 ^4 J$ [! z0 R
});. l. Z0 h% M3 P0 N3 B
|
评分
-
查看全部评分
|