|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 T: N+ |3 G4 t9 `& }/ ~5 K
* ]) i0 o0 v9 V( }) d+ L火狐插件,用猴子( F! h3 o+ M5 s" b: b
- X' c1 n5 r. B9 P; d3 h# ~
var debug=false;
5 O7 n$ k" o h7 k+ @& D N1 `& Lvar CleanHideObj=new CleanHideClass();" i7 n$ }) D+ d1 j! r0 n
" f6 T- {5 @; {/ ~' `) Bfunction CleanHideClass()
`6 j8 V. R" t, ?& O{ / l, @* Y/ `- I- Y5 s
3 ^8 A/ c% o: a0 @ this.on=function(id,bMZ)
* ]) b: B$ Y/ E6 M3 h9 ^ ? {
- t k9 L# \" b
% t8 t R) ~3 y- m9 @. X1 U if(id == 0)( V Q' W5 W% v
{( ~, q E) |, F# ~
var page=/* document.getElementById("content").contentDocument */document;
0 |# H" L' q1 v& t2 k this.RemoveHide(page,"span");3 j- {$ U/ f. M0 X3 X8 a: @/ v
this.RemoveHide(page,"font");. p, s/ o0 v b4 P2 K
this.RemoveHide(page,"div");! H; b N( A3 j( v" K& g" q% ^8 p
this.RemoveHide(page,"p");. F/ O6 f9 v* s3 i; E3 H
+ `7 b$ v/ e5 Z
}5 K9 [/ r$ Q/ p4 Y) y
+ B& w- S5 Z7 C% x1 [ }1 n2 L7 w, K; a9 ^, n5 ~
this.getobjstyle=function(node,prop)& l9 V8 t4 {) ^* k" s
{ U4 v8 _( \) v4 N. Q
try& p1 u- k9 W7 [9 Y* {. ^& P9 n0 p
{! l w4 m3 W1 w7 H* K q% Q/ F# k
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
Y/ o; A; r' \+ d) X }
5 {) D4 D$ @0 Y0 c0 ` G: L9 y catch(e)7 A$ @3 ^5 w" t5 B7 J8 }* f9 H2 W
{+ P, m/ l: I. `
if(debug)0 T, y) U- c* E5 m G( X
{
* c; |7 i0 L- e# U. f+ f; }& Q. [ alert(e.message);
: O( v* A p2 k) {, M P) S; S }4 D: L) ?+ c4 G
( x- v( {. C0 Z return "200";+ p# }1 D$ |8 F; c3 P) z
}
) D% z- n; B6 W; Y) P6 n6 m* A9 j! U }( D! P* J- {# W7 J/ U
/ M }& H9 x% m* ?/ I5 O this.RemoveHide=function(page,objname)$ a& P7 H( C1 j) W/ H
{
% z4 z8 H3 e q* |" M4 W try
1 p" [* J- [2 V0 I7 r7 _: a+ m {
7 G/ w% l" i% r) ` P var minValue=15;% M; X- o# k5 m( z; I* w# N
var objs=page.getElementsByTagName(objname); ) A' N- J1 W3 u' |: z7 I, p
S1 m# Q8 g& f/ S8 E0 C4 \ if(objs.length == 0) & {$ x8 D+ g4 T! i4 E' R' G* \6 ^
{
- g8 ^5 n7 [. _5 l- n: d if(debug)
- y% N% y/ B( |9 w% O9 C { K7 T, p# ]+ }; W$ J# n
alert("no object found!:"+objname);' a2 u) p% ]3 Y* S
}, R5 P$ c- o% {; V0 z
}
9 N3 @, {$ G7 Q* E) t9 \6 _ else
- e1 E1 @" ^5 L4 G7 e {
9 @% |- ?. I" C6 {. Y {% o6 H2 G1 t) ], m- i
for(var i=objs.length-1;i>=0;i--)
7 m" `# u% e8 o" L. v. p7 g8 S {
V/ D9 {2 v1 Z8 E* W var node=objs.item(i);
# E7 k: g: Y" k) [ & R# y6 [: i6 y9 ^, L, |
* x: ?% W( m+ e4 K( a' l# A2 \
if(this.getobjstyle(node,"display") == "none" ||
2 f4 ~/ u% D% C: [% K$ `8 w this.getobjstyle(node,"visibility") =="hidden" ||
" _7 @; k3 l$ O$ t3 g) p parseInt(this.getobjstyle(node,"font-size")) == 0)
0 D5 W% R% x& D' D {' `: k- |& z! `8 {. x
if(debug)2 h d( `8 I1 H2 Q# }3 O5 j
{6 M" ]& o, E: Q# |
alert("remove invisiable!");/ j; D% E9 ~" U! B' N& f
}0 r6 g" w# @& y4 L/ W
node.parentNode.removeChild(node);: y2 J% e/ }- ^
$ T& z9 E" T! y7 W' _* q# Q) T; w }
* W! u1 S. F: O4 c9 b* O else 1 |' C" z* j& O: I1 a+ R* k
{
* A$ a. Y6 G. a# |* c if(node.parentNode) * _* x5 X& x% ^( }, q9 ]
{
( s# T* J9 w) F2 |# l: J var orgNode=node;
) j2 Z! k! D8 @, B, _; k' ]( P! T, v var orgColor=this.getobjstyle(orgNode,"color"): e5 r) ], M8 \1 P, o+ L# u
var orgRGB=getRGB(orgColor); 7 b4 g i# c, |' i3 r) K0 t$ d3 B
2 ]; _/ A$ p, Z6 D s
var parentNode=node.parentNode) J q$ u9 e* f N/ d, J1 E
var parentBgColor=this.getobjstyle(parentNode,"background-color");
, A }, i9 x1 q2 g7 ^' o H6 M9 Z1 c , D% o3 K6 W& k5 x( ~
var isLast=false;- X% c' S( g& @ D2 @0 e; g
& K' I- ^$ }. g$ L1 e, S while(parentBgColor == "transparent") , ]% o4 J. w# u' s) Y$ u6 m
{
- Y: G& c; n: m5 w4 o 3 b: D; h0 w# V- ~
# }. W: M# o0 c* h) T
if(parentNode.parentNode == null)
! R9 y# L- n/ O4 C6 N: B4 W {
5 b1 v7 H4 M m( \( f5 c8 M$ h isLast=true;
' I- V2 V; S( V8 @& T! e" f, h; k break;
: T6 x9 Q" q/ y9 w }9 l& q- w: Q4 X* p4 m9 O
parentNode=parentNode.parentNode;: s: F2 [% |2 e9 M% X8 ^( w/ w
parentBgColor=this.getobjstyle(parentNode,"background-color");
& f/ i; P" ?* f6 }) F( C& {
; C4 _2 D! B" U7 b8 T$ W if(parentBgColor != "transparent") 6 t- t) M0 A/ I! r. W3 t3 i X. D
{
( r& D+ k# q7 {! b& q break;
+ X w/ i* n. ^ }/ \. h! Y( \( a ?# u! v. h6 G
}
e/ ?6 r: R* g4 S if(isLast) 6 k# q& ^) }4 A' Q
{
7 i' C" _0 I7 p; a if(debug)
3 ]1 B V4 R% x$ V {9 R) R* Y5 j& p" |; J9 e: E( Y1 A
alert("last!!");
1 A% I( t6 g+ G% @! Z }' t M( P- s0 J0 A+ T, y' k! I
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% T0 `' S5 a" o+ o {3 K* }4 n8 h' M* W
orgNode.parentNode.removeChild(orgNode); 6 G# H" |, B H7 C* n( z: Z- _
}/ r8 s. S. v2 v
}5 W; w, A7 p% n5 F, y
else' f3 p5 T3 O. k$ a
{
& h$ t6 a" t/ m& O/ j$ F( q0 l4 ? if(debug)7 J# ^9 O: a9 P9 B5 I) S
{
6 \2 l: A1 k7 ?. m alert("compare color and parent bgcolor!");8 X; [3 f, W D- @5 f( ~! C/ Q
}7 ]8 G4 [; Q) {
parentBgRGB=getRGB(parentBgColor);. x% Z' r) ^* }1 i9 m0 Z+ l
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- Q) P+ g0 y* [( V* j, H
{
9 v x; _3 J9 i2 a& g" e0 { orgNode.parentNode.removeChild(orgNode); 9 t9 m% Y$ K/ F* n% Q, o1 e
}
3 ]. l$ b6 w1 s3 i" G- F$ z1 _4 q }9 y6 g: R: O# o0 u
}. ?6 d) B) C `' t2 z3 m) [- E, m! @
}
5 m: ]- b' t! o( N" Y/ z }
S8 E1 I4 [) S3 v9 G }
; S" L/ y* p: B$ M ( W R9 O' l( O: Z
' S( d& S: P- @, E0 Y6 K6 u
var itemFrames = page.getElementsByTagName("frame");3 ?/ G; O( C# u2 G' y/ @
var itemiFrames = page.getElementsByTagName("iframe");
, A, G/ t; W" o/ a" m+ @
+ k2 }2 \ ~1 J4 Q4 }1 P var frame, iframe;4 s! j2 N7 [/ Y" D. b1 ~
if (itemFrames.length > 0); B# {6 S' c4 w7 A T7 i
{
* p% A/ t4 L" [1 w8 x0 v for (var i = 0 ; i< itemFrames.length ; i++)
% X' W+ i/ w8 Z {
& Q9 Z$ x( u6 o1 c. _ frame = itemFrames.contentDocument;
1 E# h5 s( ~/ y3 J8 k8 |0 A this.RemoveHide(frame,objname);
1 A# a& B3 r& f5 {! T }7 \: u: x, d$ W5 ]- q, y) p
}
6 U+ n3 |3 H' B% n r1 Q: L if (itemiFrames.length > 0)7 L; ]) G/ p4 s& Z+ N2 r C7 F
{/ @0 Y- c# a+ h* T$ g
for (var i = 0 ; i < itemiFrames.length ; i++) $ `$ M2 |. ^# c( i
{
# d: G( ^0 P) G! l0 w( [5 l iframe = itemiFrames.contentDocument;
8 j9 j# j8 q8 l" p% ^' X: q this.RemoveHide(iframe,objname);
2 x, {8 F. N( V; g/ C* Y5 N/ n2 b6 ^ }* S/ N: E/ A4 G
} E9 Y7 s2 M# @8 _9 j
}
9 t. X3 B) ?" t9 I- w4 m! J# M. k catch(e)
/ x0 _5 [$ ^* I9 S {
4 l1 g8 H* |0 g if(debug)
( h- l7 t! X Y0 J, P6 Q5 O {
+ H( w6 o' }" B$ @6 h alert(e.message);( j# k0 O+ _7 Z' U, S, T. w
}& Y+ l( p: D' f. l4 L |/ X
}7 _8 E- m$ B5 X8 R- M
}7 W9 {8 Q! \( J( @( j0 ]& P
6 i5 G# _! T8 o/ q
}5 m* o8 K% q) p% c7 N; z
' f- D; @3 L4 y; S* J) S, z$ ~
function getRGB(colorString)$ q& \0 I$ I$ c; u8 R4 b! C
{
) Y( ^7 d) v1 u5 _+ i# _$ y var RGB = new Array;4 f8 o6 n' @' j
var tempSting=colorString.substring(4,colorString.length-1);
8 p, P0 U7 K! V& A+ h var tempArray=tempSting.split(",");
( V/ q/ p) e* ~4 ~
* o) `$ \, p5 W( ^ RGB[0]=parseInt(tempArray[0]);
4 f+ C7 o* z& v: X& P2 b RGB[1]=parseInt(tempArray[1]);
5 o7 s( o. ~2 n& O. X RGB[2]=parseInt(tempArray[2]);
$ ~' ~0 B& s+ _# P. |
7 H- f$ U9 P4 {6 R8 k7 ~3 J return RGB;
$ q# N ]1 l& U' f Z% R* P7 u" G}
5 S; m1 z) f0 [0 Mfunction keys(evt)
! k4 j4 V5 j5 r { # i8 L v" K3 a, D! f. N
if(evt.ctrlKey && evt.keyCode=="81") # p! K% Z5 }" D' z( P
{ 8 b* T' e, B7 c! k' B! q8 r& D
CleanHideObj.on(0,1);
0 [0 {8 d( Q: V+ }: [5 J( h B alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * k! N6 s: C* \6 I) e$ h, a/ I H% U6 Y
) }. G: }, g$ a* d3 I9 {8 v
} 1 n% R* }- P: z- w4 d$ H
} 4 F: _8 ?3 I x: F( c
document.addEventListener('keydown', keys, false); 6 y- P! H1 h! t& M: s# U
GM_registerMenuCommand ('Clean Hide',
+ d T% l& L2 I" a9 L8 E( T4 Lfunction(e){2 O3 Y# q! W# `/ \* E, a. q. l
CleanHideObj.on(0,1)
. b6 w# N# r3 O% q3 `, qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# |2 a3 x, l; V& S) K T
});) E- H% v8 P. r0 j0 E0 u
|
评分
-
查看全部评分
|