|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 v* @0 `5 v* V: `8 y
2 \, v, J; ^4 c6 b
火狐插件,用猴子! e1 g% N8 p2 _
: _+ O4 b' s" y7 q. L5 E" t Rvar debug=false; ) F3 l0 h5 [# ?* U5 {; N) v
var CleanHideObj=new CleanHideClass();) R: K, ]% ^9 [' L* l& u
2 A4 ~0 @, H. ?. [
function CleanHideClass() 0 n# Q0 V. W3 F# N
{
F2 C7 T# O) X" W% ? ) ?$ ]7 c( @' O8 [
this.on=function(id,bMZ)
$ l h- C0 b2 ^1 D' o {
$ ~0 \% X- N7 Z x0 c 3 x- q8 u( E9 Y5 G& Q; D8 ]4 D# ^
if(id == 0)
* P& W7 ?% i# k. q( \- r3 v {
6 ~7 D8 @) u+ j+ a1 ^! I; d var page=/* document.getElementById("content").contentDocument */document; ; y0 b9 l+ P0 L8 |
this.RemoveHide(page,"span");
9 Q; m5 z" C3 k( w this.RemoveHide(page,"font");, S/ R/ x. O* D( k
this.RemoveHide(page,"div");
; k1 {6 f% K: O6 C5 n8 v4 B) K this.RemoveHide(page,"p");
" l2 ^% S5 p1 M
! u0 I% V: |2 s5 @6 Y7 ] }- L1 P9 y8 s4 i7 f1 z
* s7 a$ T! l1 q }- Q4 |* ~5 ?$ s1 q8 X
this.getobjstyle=function(node,prop)# r$ {6 y! ^- [( L( ?
{
" h) `: h2 [+ c" q! W try
- C& L1 N1 a! d% V" s {+ O* o* y+ @$ [" I) c
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ {- j! R6 Q% h; @) C }' k+ Y1 |3 V5 x4 I% w
catch(e)/ V7 X# {8 K1 V. d: o0 |) V2 T
{9 F8 A9 }/ }8 ?0 Q L! U
if(debug)5 M/ b$ E7 `6 \
{: y( m6 [$ v" N: ~
alert(e.message);
, H; f6 Z0 }1 m }6 g5 U1 k5 i' t- v' ` H
7 j3 R$ {! ^) _! a return "200";
8 N! n- o$ v. X8 ], B U }% G" o& a$ K! E
}
2 \/ f6 K( z! @; C* R! T" U
- o Z' F: o( O( q; R this.RemoveHide=function(page,objname)
% w* u1 l) j' d2 \# C$ T {1 ]) Z3 }5 w: u8 k
try
4 O0 S* R" Z- `8 A {% s h b2 E* D$ t# {# {* w
var minValue=15;
% J5 d) Z) d; J2 D var objs=page.getElementsByTagName(objname);
4 h9 h$ P& O Z" L* O3 R& r& D# N' a( o: S$ r+ u
if(objs.length == 0)
- V! e# Y C8 K) G: s7 l {
4 Z$ B6 t9 `2 k if(debug)
3 ^9 q( Y1 d p0 x/ G {
' y: T- }' V% Z; ?4 E' R alert("no object found!:"+objname);. H6 _! b% ~# ], F9 P9 N0 K& b
}
3 x5 V2 _& N q* i. X( s }
' @% C: x/ H5 l5 v$ P7 X else- r+ U# w {: ~
{ y8 _& p+ j& b# u
+ M$ n7 F4 r$ x# x( K
for(var i=objs.length-1;i>=0;i--) % S) ?) h: w/ {( }! B" J* m$ W
{) f$ z! e* L; @7 J2 k( a
var node=objs.item(i); 3 q0 }3 q0 k2 _4 w' q4 j8 }
[7 Y+ }/ C# S) t; x 0 J% I# @* {+ B& E
if(this.getobjstyle(node,"display") == "none" ||
* n# V. g; Q# Z) m this.getobjstyle(node,"visibility") =="hidden" ||
" Y% A/ f; L# \; v" q( W parseInt(this.getobjstyle(node,"font-size")) == 0) ) v! `/ _3 t" n9 C' Z/ }
{
! }. \# G9 { ^6 l4 Y: _) E if(debug)* t, a3 n) C3 t8 `! q7 _8 d
{* M6 ?# W2 v0 s: H! i; X }+ |
alert("remove invisiable!");
2 b- D b$ W# s$ M% s; O }
0 E8 Y' T: a/ {) g: r node.parentNode.removeChild(node);- j C& y: b, R" N {
: J: k* p- L+ v+ J; R
}# u: r) v: M b. u
else 2 g4 v5 u+ y a7 P6 K+ F
{
' x; @7 V% Y: b& `4 m if(node.parentNode)
2 Q& R( z; j* b9 y( H {
3 ]; c: T+ ^! U, C9 U var orgNode=node;
) G2 y' Y3 W' J7 {, X2 a: W var orgColor=this.getobjstyle(orgNode,"color")* S2 N5 N Z5 j& S) G
var orgRGB=getRGB(orgColor); * r" Z1 i( O2 e6 f+ W
. p: s _9 H4 i" U2 U1 I+ { var parentNode=node.parentNode. m6 }' D( k, k5 I
var parentBgColor=this.getobjstyle(parentNode,"background-color");5 _& X4 R6 s& `- p- B
3 ?; F% X2 V! z* }/ F var isLast=false;
' ~, n; s$ Y6 K r. @: V
7 v8 q; r' V4 @/ k8 h1 s5 x) _0 S while(parentBgColor == "transparent") 9 ~' x, G3 g4 l( I
{
# M; D) e) ]; q' p7 y! e/ ^+ r * L; C. t* s; O& ]) u
: r3 Y# J. K% k3 S8 ^$ W
if(parentNode.parentNode == null) b- X5 F/ X5 m% W
{
v$ u6 E, t/ G1 @; x" [ isLast=true;2 ~" M4 A! P. h0 Y4 b
break;
, J4 N( T% u: ]- Q" j9 r }* F, M% P1 A6 S: W
parentNode=parentNode.parentNode;5 R! ]% E6 ]1 t4 I* m9 B
parentBgColor=this.getobjstyle(parentNode,"background-color");
1 y" q; i% l5 _) w1 b, o+ Q% V8 T* o5 w7 u
if(parentBgColor != "transparent")
" u3 f; k* k9 v6 U3 {* n9 L7 Y {
I x1 \& w- G1 q6 z" @" \ break;
- ^8 t# q8 J9 w/ e2 E, b }( @! v3 C7 C' T7 |
}+ \% c. u* U" Y3 B
if(isLast)
3 u! d+ m5 r- ^" R, N {
2 [ a3 q' z& x! g if(debug) \! n8 `. ^; ?, ?) f# j3 B
{
# n, C& W ~% v, \# r( S5 [ alert("last!!");
' d1 ^, g. W4 y4 s }+ F% r3 \# S5 G, `
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& t$ p3 W* O! q9 W2 K$ K {9 A* L: ~. l7 S( _9 `
orgNode.parentNode.removeChild(orgNode);
8 ^. y# _5 u. } }
7 f2 O! L; h b }
- \8 d/ z4 b7 ~9 v/ T r! [ else5 J% G1 J6 }5 D; u d' v8 X: o
{: V4 m$ W/ a( ]' B! |' J: L
if(debug)' M5 W9 F8 M: |8 B( B' D" ?1 C8 G
{' y) @& C9 a$ i) k% M$ [
alert("compare color and parent bgcolor!");
% ^- G5 L# K: }1 j) ?" x }
! `. } s2 \6 y parentBgRGB=getRGB(parentBgColor);$ h) A. R+ E- s; q7 {0 s1 q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))7 O) {. n6 N D
{
I0 } G0 t/ n9 g" a ? orgNode.parentNode.removeChild(orgNode); 1 d/ O- ]9 C5 Y
}
5 G! ?- l: H( j- O }
1 q2 G @/ v" @8 r2 D' i }) p. n7 L" b+ B% F* O, j, {+ ]
}( J1 l- }0 B$ `3 h1 E2 }" X
}) L0 S: P. Y1 |6 v# R
}
1 U3 x) z$ v8 Z3 a
5 a: `) Y% e5 n/ p1 U+ Y # X% Q& l# p3 Z! a; b1 l
var itemFrames = page.getElementsByTagName("frame");8 t. E/ O; s( T. Y, H( l7 Z( @
var itemiFrames = page.getElementsByTagName("iframe");- i, K+ B: X9 Q J( J. _. [
$ w- Z7 n4 w) Q) I8 s/ W var frame, iframe;
7 t- R+ H7 | @) ^' Y* u7 m if (itemFrames.length > 0)3 v$ F) J- j! R# y7 O; e8 F/ c; I& h% R9 J
{
/ K2 P0 l m% P' t for (var i = 0 ; i< itemFrames.length ; i++)
2 h0 A' O; Y. N( @, _* B1 F& @ {
- N. Z! I J; q$ O8 p, L frame = itemFrames.contentDocument;
* V" w, k! q" N, z this.RemoveHide(frame,objname); . \: o& R2 J9 B. E
}
4 Y! i/ e3 ?1 W }* Q$ k0 |) Z. Q, [6 m0 f
if (itemiFrames.length > 0)
7 Z1 d& L" n6 Z2 \ {9 |9 m, F4 K% \/ A x
for (var i = 0 ; i < itemiFrames.length ; i++)
; H/ _8 `$ G! q4 F* D, ~! A* P {: f( p5 w8 M( K
iframe = itemiFrames.contentDocument;
0 z* u5 f# I& |, t this.RemoveHide(iframe,objname); , n6 ~# m6 W, g, n y
}
# |* [( v2 q8 v0 o- @3 x3 l9 Z }* t$ l( X7 t8 H# M7 H: _ ^- d! `
}9 y: i4 C5 X/ G
catch(e); M) D' S. {* g" D
{
6 R% F9 X5 x3 e' z if(debug)
2 i" f, f# o- b& R {
: Z( D& ?3 a9 S( e0 h! Q6 n alert(e.message);
$ u( o: E1 |- [+ B }
* K; Z, [. O6 p% B, @ }
9 Z+ Y0 b, ]# x( I2 I }# j6 M9 S! l+ d$ P
9 _2 p" r; I5 F" a K8 B$ l, X}
0 m) ]& `- e' L& d
% p+ d7 ]0 x: D; P8 X$ lfunction getRGB(colorString)
& U) }" ?1 C: d9 g5 `/ e+ d{
! O2 }( z; `/ U6 U3 J; b% A var RGB = new Array;8 q/ H; V7 j* G! }: ` y! a
var tempSting=colorString.substring(4,colorString.length-1);
* z# l C+ ?, U- L) v* D var tempArray=tempSting.split(",");) s2 A% f/ ^) w4 U
- O' }6 ^/ A7 v
RGB[0]=parseInt(tempArray[0]);3 r( ` Z0 F% x9 `5 v
RGB[1]=parseInt(tempArray[1]);9 }: o9 z6 W# D7 F8 D& B& Q
RGB[2]=parseInt(tempArray[2]);' l8 m `: o1 Y+ j" c# l
3 Z6 Q% T6 L) Y0 ?! p) l& H return RGB;
H' C! b, p" v0 R: s}! e L: B8 ^4 |* }" ]) j, y
function keys(evt) & z( P4 r F6 x. ^" d/ `
{ 2 v' r# H6 [5 d: v% @
if(evt.ctrlKey && evt.keyCode=="81") ; Q- \4 v6 c2 d2 u+ j( [% f
{ . H2 E, |1 K* i& p$ o7 R+ S
CleanHideObj.on(0,1);
' F+ O. X1 h% o# p alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; k1 c& E* Y& A i5 B
6 ?0 ~$ d: s1 e. C! Y }
1 w: b% L- m8 A' r2 ~8 } } & G: D/ E! m* A, G/ ^# Q
document.addEventListener('keydown', keys, false); % P! q* ~% h" X# u; O& m6 G& {7 ^
GM_registerMenuCommand ('Clean Hide',
7 Q8 H z" w% }0 B _% ]function(e){( z% X( n8 _0 Q% l0 m
CleanHideObj.on(0,1)
) n( n7 E: G _ w2 ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 u/ w2 S T! O3 a. c});$ L& r, H# j' m# U& n) ~
|
评分
-
查看全部评分
|