|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 9 m, N- G, M0 W$ R' ^. w2 W8 _6 D1 r
1 I1 Q. l! ?2 I- _, d
火狐插件,用猴子
2 I/ M+ O, I# W: X1 R& T/ b8 F' l) `. B8 v; w
var debug=false; 2 U2 u: g7 E; {: F9 ^ v
var CleanHideObj=new CleanHideClass();
( u" `8 U; ~4 Z) I) d% q6 U- u1 H- N5 D
function CleanHideClass()
. y; j9 U ?) O{
{; R9 A0 n6 z* {: p
8 i* G' G ~/ B% ^% K2 |, W( e this.on=function(id,bMZ)
" ~1 B1 q( S5 n4 y x! G/ O {
" F6 M7 a9 v9 r g- h$ M9 C6 F- i / g& |( M' _) K* p+ c. @) T0 A/ `
if(id == 0)
7 u" k4 g$ `5 u. h: J: B {
) n* ^- j9 S- D var page=/* document.getElementById("content").contentDocument */document; ! E1 \* a u0 E m$ @1 A- W X( O
this.RemoveHide(page,"span");
j: A5 f1 x; n0 H; d6 t# A this.RemoveHide(page,"font");
2 k- S; a$ X" i: o4 p& N this.RemoveHide(page,"div");
5 j. u9 Q* Q* i this.RemoveHide(page,"p");
f! k. O. d0 q. n. J 7 W8 H4 d7 |: b- q0 S, ~% d
}9 I# s0 Q' F% W/ ]
3 V9 O4 N' a+ g; Q
}
9 X7 B! f( R# M$ H this.getobjstyle=function(node,prop)
4 f& W3 j/ X% ^+ W- u# E4 M' \, \" s {
# e, F6 c8 {1 w( \+ r try8 W' U- ?8 c0 ~3 A% p. V1 Y
{: y! C0 W7 ?& s9 J: @( U; x, Y ?
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
: y& o8 K1 G4 q/ Q. W6 ]+ ~' n c1 s }, y) ~9 j& z, P7 {% a) }& p9 O
catch(e)5 W/ Z5 W: v1 y2 A
{* J% m v* M3 W- }
if(debug)+ H# i4 W" M8 l3 \3 W
{& D6 X! w/ C5 s: z0 F4 \
alert(e.message);
5 ?9 D s3 P. `4 g* | ? }
, ^+ }& M( H5 x. z
- ~6 m. v h8 U0 D& \ return "200";
; b5 n/ p) g4 Q; K+ o- l2 o7 U* J) I }
7 J/ A( `8 u) E: ^* [ }
# _, ~ B6 r2 ?$ q# ~2 K
, N, G! Y% W) u this.RemoveHide=function(page,objname)5 ^) }( E7 Z# ~. c# ]% }( G
{7 V; L4 g3 ]( w! R& B+ k2 x9 u
try
* W2 i0 }. W5 }6 l {
F- f3 M# ^0 P% y var minValue=15;4 B1 V" H% h8 I
var objs=page.getElementsByTagName(objname);
% l* P! O; P) v: v0 v/ a/ j
. i- `% ~2 C7 j$ w( u' Z if(objs.length == 0)
" ?/ X6 [- D: [! I- v5 F {
/ B( b# R" ]+ ?" N" @, L if(debug)5 g$ G# u, R6 X2 C2 d& S2 X' U
{
4 @( s0 P+ M% S) J2 p6 Q+ {, `2 o alert("no object found!:"+objname);
1 N5 G; P: [/ ?4 c- Z }
n7 i9 p5 r' V8 o# N0 g% a+ O }% T" S8 r' v) j3 L
else9 V1 W" k* G4 e1 K% l1 l
{$ K% M& D, `: S1 x8 h/ Z
* o) z) b& \, {( d" \6 s for(var i=objs.length-1;i>=0;i--) % N0 ^9 f& f2 n& u# O! V ?
{
9 y8 [& _ _$ I" z; G: } var node=objs.item(i);
9 K) J6 T& b$ B' _- k
; z: w+ v. Q% c. d9 l * x7 X! Z$ x4 s- \5 F6 _( x
if(this.getobjstyle(node,"display") == "none" ||
( l' `7 f9 e# _, p this.getobjstyle(node,"visibility") =="hidden" ||
$ c' |6 O% L) [& H: c parseInt(this.getobjstyle(node,"font-size")) == 0) ' l7 M, \; Y7 r1 B- \" g0 e, ^
{
8 n1 u4 d. o0 s+ f: F+ W+ _ if(debug)
' f6 a- m$ ~9 o" c8 V1 j$ J7 R {. F+ ?; V. B+ D' v; B# s
alert("remove invisiable!");# }2 Z) n( }" p) T
}
7 r0 m; l) E' } node.parentNode.removeChild(node);5 w1 n2 S- Z s5 j1 }
. g0 R" J. Q% t$ S/ S0 }+ r1 z3 X }
6 X; o" }' y/ w3 ~5 s else
: E$ h% M/ C/ l {
* a3 ?' s) K5 C# {/ Q7 t. ] if(node.parentNode)
) n. h. M0 o" `' Y" L {7 v4 p+ M' P% ?. A- [7 Z6 H+ h
var orgNode=node;8 Z: Y1 y- n$ C! [ {: S
var orgColor=this.getobjstyle(orgNode,"color")
8 p+ s4 w: q- z. u$ l8 v. ~2 G2 ? var orgRGB=getRGB(orgColor);
* `# K$ y' W, B& H4 R, w e / i+ K& l# E' b) x
var parentNode=node.parentNode+ ]$ a, [" h4 }8 u. V" a4 P
var parentBgColor=this.getobjstyle(parentNode,"background-color");5 |$ s& @& {; L6 S
7 r) b5 @. \- {) K& Z var isLast=false;* J) B( J8 u- m* y
/ ?- l8 `6 x" n while(parentBgColor == "transparent")
, I; }9 o: e( c- ~2 {& H3 } {( q7 x8 d8 |: U2 y f
" e, Y) f p4 ]; d3 [
& P' w& a! [6 g if(parentNode.parentNode == null)
+ C5 k# f1 y. Z* m {
8 h; f n0 B$ s5 y; W isLast=true;$ }6 D1 M @0 U( m7 [5 O$ }
break;! L- b3 U8 y& i1 h
}" P+ s. i$ Q) C6 [! o. N
parentNode=parentNode.parentNode;
# k1 k9 D1 ~4 r' {% F# E5 e* o! Q parentBgColor=this.getobjstyle(parentNode,"background-color");" Z, q8 k' _+ T9 C
& _# N5 ]* B) y! p( r
if(parentBgColor != "transparent")
% M4 h$ v1 G' b4 i3 Z# h" U {
R" C/ @( f- K/ k% k$ i# ~ break;
$ N, m- N& j3 K" M% \1 K }" H. b+ T5 L3 b& @- \
}
. d% S) B9 L, C6 j if(isLast) % R' }9 R5 M, ~0 j
{
( V9 ~' z8 `" U) E3 |0 Q7 k if(debug)- L9 p4 }& F3 V; z' {
{
/ M$ K6 F: Q4 T" O* Z8 C6 p/ J/ t alert("last!!");
4 V- c1 E7 m3 R- ~& s q: r }
% L# P* h* C1 l4 b" G if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' m, h% E+ t r( p3 I/ {- w S
{
G, E" q9 f6 x orgNode.parentNode.removeChild(orgNode); 9 V7 I. Y$ J9 F& Q' S( L+ v5 l
}8 x: m1 I K$ r0 |6 {- g5 n8 B0 l
}5 f1 o5 Z1 O4 X+ s% V% Q5 H
else/ ~4 C9 G( Y/ s, }0 R( g/ z
{, n) E* e3 J1 c
if(debug)
9 @4 _3 i' C/ z7 d) c! m {& c4 O, b: s5 F8 d; k
alert("compare color and parent bgcolor!");
! s1 t& o0 m% F) s }* |0 `/ \& {6 V/ j, C" R
parentBgRGB=getRGB(parentBgColor);
e0 n; J, u, N; w0 ]& a a5 { if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 ^4 K3 R# r/ F( `
{
$ ~4 }( E: y+ \: B, }' m& ?# _ orgNode.parentNode.removeChild(orgNode);
0 @' r7 I4 k! C; f W* L2 z8 ~; O } R0 B4 H) J- m6 X6 i
}
7 s) S; l3 H, Z/ ] O }
0 W7 s( z- O4 V8 U3 r }
1 p& ^- i3 _. O8 b A }) O7 N1 Y* ]/ F4 V, L" X. G/ v; @# j% _
}! ?: X e% a# u/ Z+ h$ t6 ~
0 R( x3 d7 _" ~+ v$ a$ j 0 s6 ~3 U4 t' z; b
var itemFrames = page.getElementsByTagName("frame");" Q9 \$ E, B( M7 D0 q
var itemiFrames = page.getElementsByTagName("iframe");
1 e/ k) `. q! O. y% ]
% P2 Z! i5 ]0 @" j var frame, iframe;
; D" ?( J# }) c j& Q if (itemFrames.length > 0)8 K: ^7 K7 C2 x& u
{
* b" @ ~ Z1 v9 { for (var i = 0 ; i< itemFrames.length ; i++) 5 s# ~& P# R- {2 I
{2 S d6 w! b$ @/ Q5 D
frame = itemFrames.contentDocument;
! ]! Z8 z2 ~. `: v: l- Z$ F9 h this.RemoveHide(frame,objname); 8 M9 O p ~) a
}: o! w: Q- T7 E: k8 B4 a1 X
}
0 U0 K* e$ F! F8 F# U' {' ~! d if (itemiFrames.length > 0): p) h6 P/ d/ Z/ E* H, ~) u
{
; N' p5 M1 U9 m% i5 g for (var i = 0 ; i < itemiFrames.length ; i++)
; D& u$ x$ k0 q. P- f {
- V5 h% ~0 l$ z+ C; ~" q iframe = itemiFrames.contentDocument;
9 h; a4 ^6 ?! c* v) K1 c3 e this.RemoveHide(iframe,objname);
# P. M) i# T( e2 L4 S' j }
* o1 q, e5 Y- \9 r }
! ^, ~2 F& R5 j9 v, R }9 l' r& v9 {) P2 }0 y# G; D
catch(e)/ j2 q# s; m6 D4 U8 I
{
9 ]- c( z& ]+ u% L4 ~2 A% s if(debug) F8 W% x6 U* [3 u- p- ]* m
{
" J9 @4 Q% X) O' q alert(e.message);
% ^5 d# ]" o8 ^/ W) \6 u }$ b, G( X# ~1 f P; d0 k* Q, m, h% Z; R
}; c& l3 y) a" g, H5 C% e2 _) e5 @
} i& p. y: P0 ^4 s: s4 w; y. h
* w8 T& E* c! @8 S# d9 o- g}; @. r$ C% e+ h$ J" W( L
6 C# @, W" A% z
function getRGB(colorString)
1 p/ v. D: a- A; D' r4 T{
" p4 [! _+ m1 a( a var RGB = new Array;
* }+ C- I+ X: j/ [' u% } var tempSting=colorString.substring(4,colorString.length-1);
8 i, \ o. Q6 p- {# T5 c8 H; s5 T var tempArray=tempSting.split(",");
J; p ~# |" Z0 Q9 }: @
4 x9 w: t7 }( A$ \ RGB[0]=parseInt(tempArray[0]);
; I7 f- e( {. i RGB[1]=parseInt(tempArray[1]);3 \' |9 f K$ K7 E/ J9 A+ \& k
RGB[2]=parseInt(tempArray[2]);3 R; ]/ D6 x- M. c- E3 ^; c+ x
7 j$ D' z/ {, q& t# `- A: d/ ` return RGB;
8 @3 A% M2 u" h$ Z1 o# E5 m}
% v6 a6 i# r! r; g" |function keys(evt)
/ g( X. O1 I( p9 A4 a2 x { . G) E4 d: z1 L+ l
if(evt.ctrlKey && evt.keyCode=="81")
/ d+ w. E7 h& V4 e( f* }4 d {
! c- B# e) U' d5 k# h CleanHideObj.on(0,1);2 m: p! p* i2 W$ l/ P4 Q7 T9 @: A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 P% w: u+ Z3 H" f$ g% W+ g 4 r6 v, E' o/ d0 Z i6 t! o; k8 i
} & @) V5 j2 o+ `( e
}
) r2 J3 Q9 z# l; S0 R6 ?$ b8 n* Mdocument.addEventListener('keydown', keys, false); 7 S) R$ s" Z' }9 e$ J. N: a; q
GM_registerMenuCommand ('Clean Hide',' o0 z7 [9 x+ {* t% O6 h |* X
function(e){# r7 t! T! ?6 a- D- y, s% w, C
CleanHideObj.on(0,1)9 J9 \4 N2 L% r2 d0 M2 b
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: w2 d0 E- |) x9 @4 N
});+ V5 B) h: }$ }8 }" u! G
|
评分
-
查看全部评分
|