|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) o' }& K8 F) {. B! u- y* p$ N
2 E$ r$ O8 c9 [ F7 T火狐插件,用猴子" Z4 @5 P0 H1 P I' b, ]
. i' a* O8 e4 @8 K
var debug=false; 3 V! R. f- i+ c
var CleanHideObj=new CleanHideClass();
4 e% ^ {+ x# v+ c- x0 W% \6 H! k1 W- k3 `/ Q
function CleanHideClass()
$ M' u1 C3 P* M6 z/ P! J7 Q2 y{
% P0 }# J# Y/ v& [8 q . j) j0 M8 {( O; K% E- |/ y
this.on=function(id,bMZ)
# B$ N* T* G3 ~& V, V {
' l8 L5 m' A, j: E 2 D4 f: @# S: o3 m8 q. N8 s: F M
if(id == 0)
1 e! a) n. D, A0 M* Y, U {
. c$ ~1 B3 E: ]- W- p& A0 w5 E var page=/* document.getElementById("content").contentDocument */document; + C( ~: q' i/ q) C/ m9 C# b- h
this.RemoveHide(page,"span");4 ]( q# t5 g3 \: X' `
this.RemoveHide(page,"font");
+ `2 K) Z4 G c5 T this.RemoveHide(page,"div");
}; j, w2 f) O% x this.RemoveHide(page,"p");# g: M8 B$ n2 I1 h$ q' M/ b6 Z* p
' Y& I6 J- ]% R2 S% p4 j, U& U
}# R: K& D2 u( w/ J) h! X& s
" F7 ~9 i8 G* S
}
. J! @/ K9 j& K4 X* a9 g9 C this.getobjstyle=function(node,prop): A: j% ~/ C" R, Y
{* k+ b4 O0 k' e% B0 f& A. O
try. T B& h5 _% Q; u
{2 m4 y/ g4 @$ _; y+ R5 h
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& Q5 E# c3 }. Y1 ~# T
}) I- u8 L# ~9 _( c# D
catch(e)8 \% U' X: d& p" h4 R6 n
{
* i" p, j; Q( A( v if(debug)
4 [% b, o6 M/ d7 E' g9 D- o D {
0 K9 f! p" Y7 J7 B% A2 T alert(e.message);; |4 H( |$ j+ f+ B
}% Y3 ]' f+ V$ L
- _2 Z2 J/ p, p, t
return "200";
/ U" Y7 | }9 g) X6 |( g }) J8 y7 `1 W6 o- _) U' H. \. P2 }
}
C" u5 [$ {4 u9 D ) J) g: r+ X6 b# y& _
this.RemoveHide=function(page,objname)! N0 l! h- L9 a' Y
{
2 y: W. f* |$ R5 o+ W4 r2 m try/ G, w% Z) s, n9 @% ~! x
{
! _, f6 R2 d5 W7 }2 n var minValue=15;' u/ _: w# O8 T6 Y/ ?
var objs=page.getElementsByTagName(objname);
: Q4 u- P% ]( `( T7 a7 v* Z; ~' r
, z; {' f* O! _* a/ E5 A if(objs.length == 0)
2 _% X ^8 ?) y( U( ?; }+ i# I9 s {9 x8 p+ U1 @) E, Q+ Q
if(debug). d: G* z( @: L' u8 m, }
{
+ z7 f- }0 _0 D alert("no object found!:"+objname);
. E, N: V6 N2 U! |% Y |5 @: P3 A; k }' P+ S9 T( n+ n
}
4 J$ U$ L* Q6 }* V6 q( V else
" j" I# t- i& l) i0 m1 F/ {/ G {
, D) m" c7 O( ^
& r. L4 R6 b6 Z) q, X! Q6 t for(var i=objs.length-1;i>=0;i--)
' E. P8 U% Q4 }8 X2 \' V% h {
& f4 s* c3 J$ t" B* P var node=objs.item(i); 7 ^$ f! m/ z9 ~9 D. O2 N
* W, L: r+ Z$ X( W. ~9 R . y" Z5 e1 D) f; `* A, q
if(this.getobjstyle(node,"display") == "none" ||
7 n) l7 o- R, V& {! g, |2 U this.getobjstyle(node,"visibility") =="hidden" ||" G& f& q4 I2 b6 h
parseInt(this.getobjstyle(node,"font-size")) == 0)
# [: u! c+ P3 h/ @ {/ f a+ `/ e1 m+ Y7 O
if(debug)
# Q! I5 V& L7 I, g- G {
* o" A8 O: |6 m' [9 |! L% V) n' i/ q alert("remove invisiable!");
2 |0 Y: e5 X$ Y3 C9 X) b# a+ } }
8 O: d/ y( z" i" q node.parentNode.removeChild(node);
* R" C$ M2 e3 Z! c" I" x! l' c
/ j; h0 Q p7 e5 G8 G0 E2 l+ y }5 |0 O$ d; }9 N1 ]0 b
else
( f( f2 c( s4 ` H! R; Z& z {
8 B% X q8 Y$ X2 v% d. r' Z if(node.parentNode) 1 p) T* C2 \4 W
{
/ R+ ?5 R$ z4 t var orgNode=node;
0 y$ r" G$ J/ D! y6 a var orgColor=this.getobjstyle(orgNode,"color")0 N3 E6 q- n" s7 N8 P: P3 D
var orgRGB=getRGB(orgColor);
& y7 n" _" h$ f* ^4 E% K3 b
0 d: W' Z$ q+ h+ A) \ var parentNode=node.parentNode0 L& P, W6 x u& l
var parentBgColor=this.getobjstyle(parentNode,"background-color");5 Q! G& s& ` k4 I" a
) I3 b3 J1 i' Y) B' T ?# _ var isLast=false;
4 ~7 t$ y4 V. m6 o2 ]7 d) Q! h* Y
6 P( p( A. u! s while(parentBgColor == "transparent")
0 {7 ]) K" A4 A5 A& {8 W: q {" f3 T# M2 w6 Z; M. }) _; Q1 _
$ o: K! I4 g8 M: r; U; V0 V# j
9 I- ~/ J6 H" @. l$ m
if(parentNode.parentNode == null)8 t& x' d: n, H; v* Z
{
. q8 L0 n3 M5 g+ E' Y isLast=true;) M/ i- b& @. E' R8 q" Q
break;
9 K/ q c- ]6 K& s% _% y }: `: ]! S# e3 _' `2 H: t+ V
parentNode=parentNode.parentNode;
. H7 t0 G9 | O+ w parentBgColor=this.getobjstyle(parentNode,"background-color");
6 i5 [9 B8 Z3 a* q" J: b$ y3 P9 F5 H0 j' _
if(parentBgColor != "transparent")
, [9 d6 p" B5 M/ O) R {$ C% ~2 S/ s& \; a/ Y( M
break;; e& ?3 i& |& _1 q- F" x
}9 i0 o5 F+ I3 t' Y2 `
}3 m. p% U& R: ]9 b
if(isLast) 2 ^7 ]5 v/ q/ R. a0 H9 j
{2 y$ G( t# {1 k1 J% P( S0 E
if(debug)
% x' y. q! V" ?1 R+ z {
6 K g! l' o4 U* S* a' a alert("last!!");
2 t, H! V; Q9 _" ~6 p; U+ o7 P }
6 y3 T) H! D. g7 t if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); x& g. N, n. r2 K$ `" O6 o$ n4 Z4 }! j3 |
{
) U: v, q/ Y2 f0 q0 ]+ x orgNode.parentNode.removeChild(orgNode);
/ r) J6 L# z2 L. J/ E8 ? }
- @* `- Y$ }8 ^/ c/ X/ F' L }' J3 e: ]8 v6 u! v, G" n+ l
else
' A4 {; j( T! Y: C {+ K: s. m8 W9 X: V- P
if(debug)# V/ u" C9 b4 X+ c2 ?* Z* m" E: ~: Q
{
& Z: ~+ m: S" F5 [ alert("compare color and parent bgcolor!");5 ?) @* a' _! i( E$ L
}! x( `( h# _3 r& e/ Q2 {
parentBgRGB=getRGB(parentBgColor);* G/ [7 x8 q" ?
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! M. p4 M& |) Q! \- `3 _ {% H; b% R: B% ?& G. A
orgNode.parentNode.removeChild(orgNode);
2 O) W; V) n. z5 |% }; k8 [ }
6 `5 B% F' n; Q$ e0 @7 C" r) P }3 d% C) z* d+ M* L G
}+ P! Q* f; p0 h% `/ [2 B
}
* r5 @% [/ N5 `$ O' p }/ n! Q8 o/ _0 z1 N7 g
}
) P+ [& r/ J a5 O2 q
2 g. t3 m8 x( }4 A, `
9 N1 q5 V' q. z! w var itemFrames = page.getElementsByTagName("frame");
3 l$ I6 f7 A2 s! n7 V, p var itemiFrames = page.getElementsByTagName("iframe");8 }5 `& P% z1 }# N4 a0 H" E7 z: R
/ [4 p' E" Q, g s6 ^
var frame, iframe;, N& O1 {5 l+ _8 d3 D
if (itemFrames.length > 0)
6 H- j# q1 \/ {* s9 Q3 _# a' J {
7 | C( g# ^5 }' u for (var i = 0 ; i< itemFrames.length ; i++)
- p5 ?, o) J, N0 K5 Q0 `* g {% l) M6 t/ \8 E7 A- w' F
frame = itemFrames.contentDocument;
% f1 y1 `# m! b this.RemoveHide(frame,objname); . V- f/ c5 Q; Z' y
}
6 b. \- i8 n& }6 a }1 w3 N: E: T* b; U8 l) v% v% N
if (itemiFrames.length > 0)' W5 G2 x* j0 W9 S- e
{/ u+ s, n5 V% c8 H a! D
for (var i = 0 ; i < itemiFrames.length ; i++) 1 S" M6 ?7 \6 w. V9 Z
{# c9 `! w' e. a# B" w
iframe = itemiFrames.contentDocument; T/ I4 R7 M& |
this.RemoveHide(iframe,objname); . D2 B) ] G0 r0 J5 Z4 C, ?
}
* Y/ h: Y6 E1 A) {* a3 M }
: R. R: L0 ]0 j" C! X9 u }" t7 p- j) f* w+ e' ~" ~$ H* p
catch(e)( O3 O/ f3 X1 j1 R4 f
{! r, L1 O5 t8 {3 B, W, f. V
if(debug) f3 y. {% V/ A
{
. ?$ @3 n7 c+ O. S1 M alert(e.message);
) p& j5 N1 d. ]- K8 Q9 z! S7 m0 T; |: X }% N$ g. `6 X* d0 |' {- t
}+ B! V; z5 H8 ?
}
) ^4 [6 k! F3 i5 r* w+ p3 `. }
& {0 z; q' G* o0 o}
! U( j% B1 {. Q8 Q/ h. l6 c5 w
/ h) w# O7 c8 ?6 x$ \function getRGB(colorString)) `7 ^+ ^4 w6 G" d, a
{) O1 c% D- v- |, S
var RGB = new Array;3 `+ A* d# L, J. w- D( F
var tempSting=colorString.substring(4,colorString.length-1);3 j7 `* |% z- m( O' j
var tempArray=tempSting.split(",");
, T' z3 w. f$ E0 o* y8 r# a# o4 @- \' }8 ]6 t! g& k
RGB[0]=parseInt(tempArray[0]);
* }: f! {. R& l8 D5 S3 b RGB[1]=parseInt(tempArray[1]);
* ~" K5 F, P" P6 ^ RGB[2]=parseInt(tempArray[2]);
6 f, b0 g4 o8 x1 C2 f3 Z# e; R
. K" L1 ~5 }1 J3 F return RGB;
/ ]/ Z+ w/ a; f+ I* g3 D# m6 f}
: r9 X7 w# o& M7 T$ {function keys(evt) ) X; @5 i, z# U# \1 u
{ ; k+ K$ t d) v
if(evt.ctrlKey && evt.keyCode=="81") 8 h: ?1 P8 ~8 m
{
- q; b0 i& j# T( s+ e- R2 s CleanHideObj.on(0,1);
$ I! }) W$ N4 ]5 u* i% q% h$ t alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) S3 j w4 y' @" O3 |& V6 {
9 Y0 k x4 {5 |; r, K; R7 f5 r }
# g5 y- ?) M! r; q! F' b } " J$ k; ^% @% R5 \2 e
document.addEventListener('keydown', keys, false);
+ I2 q' E [' {7 {GM_registerMenuCommand ('Clean Hide',+ l9 h* h$ _3 r( } L- [
function(e){9 \; Q0 F6 S' _3 a: S9 S- p. z0 V! \
CleanHideObj.on(0,1): W6 T6 v8 |% l" A: [
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ `$ |9 O& u7 R8 \- X4 q});
% \% C, H: f* o& d: a |
评分
-
查看全部评分
|