|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ B- s8 s( B; B* U8 P9 i6 m) a9 f" R q
火狐插件,用猴子4 _3 C4 E( q) |8 A# j3 o
9 G) v# Q' v! w' m. @
var debug=false;
5 I }% t2 D& `' Q9 z2 `var CleanHideObj=new CleanHideClass();
1 _7 A/ ?( `3 {# R" @# V2 m1 }7 z+ ~* q# x2 [# N6 d5 H
function CleanHideClass()
0 ]5 I7 N% p* N& R# e7 N1 S{ / S! b3 U4 D8 L+ b8 ]& i4 ]* n
5 u: w9 t* x1 ?" O/ O. p8 t this.on=function(id,bMZ). o* M m2 W) ^6 z) g. e8 u
{
$ _% R0 C7 `4 G% V 6 k& Q8 J: Y# w/ E4 M9 p
if(id == 0)7 v7 j2 S. Q( P2 E
{" z- \7 Q- [& e1 H
var page=/* document.getElementById("content").contentDocument */document;
8 O: N0 ^* w% Z9 D4 O$ C# K this.RemoveHide(page,"span");# ?& `9 r; V/ S: u1 c
this.RemoveHide(page,"font");
) G) _# x" f- J, [ this.RemoveHide(page,"div");
6 y$ Y- m* k: H# x6 `- D% [( R) l7 R this.RemoveHide(page,"p");
- [7 @! g2 q. ~9 u3 d : l% }6 J5 D0 v' f$ a
}# O& N: D4 R/ K1 r" n! i. t" r
7 Y% D6 I5 A [ }7 X, I& s4 g7 w" q) a1 E6 W
this.getobjstyle=function(node,prop)
5 H2 a5 N1 v5 [ {
6 ~' Y( u( j7 ~$ @ L Q! C' S0 n try, h" U' K) u P* {0 e
{
1 ^7 p" v; I+ {- m2 a6 a; G% D return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 `4 Y6 {4 p# e3 }) z
}4 ^8 K! {0 r0 _: y- ]& |% U
catch(e). j! X% P* u/ c- [
{: s. b- o4 V. [7 ~+ W
if(debug)
3 z3 T. H5 z. r: b- D* x {9 V- q$ C8 m3 N. ~7 j) u2 b0 R
alert(e.message);
9 e: l9 { C* d7 `1 c2 v; Z }
! K+ I, d P' ^, A/ h$ h! a0 n
1 b9 r5 Y$ r& d return "200";0 G$ T7 S& s4 y, s9 H, w; J; Q0 O$ j
}
$ D: s! f/ Q0 f+ A/ x$ E }- ?& r" _* T, o
- d3 V9 w; l( F( B; @/ f this.RemoveHide=function(page,objname)
, y. [! z8 V% P, B( _5 A {: O+ z( Z' q: E# {* G8 E
try
/ P+ P& G: G$ C7 j: ^/ l4 M {
! I$ q; f1 A# K0 j var minValue=15;! {5 V# X+ l/ n: i7 S
var objs=page.getElementsByTagName(objname); 0 P& ^; | x3 n
% ^! u) P0 o' p
if(objs.length == 0) , ]' s8 u: n" ?& y
{6 R. P, d! z- N$ K' [9 B
if(debug)( A& R; C& `2 M5 a! W- [
{
8 }+ X; X0 }9 z/ t2 } alert("no object found!:"+objname);
" U% o$ @3 a" H3 A% z }
3 |3 l9 a2 z( z# R }. d9 Q$ ~5 a' ~: k3 M! F$ v
else& O) C% \/ K# X `
{
* G/ N5 K7 T9 L - W! Q. C) [3 G
for(var i=objs.length-1;i>=0;i--)
% K' `; ?9 n# v( M {
) }. p: b9 y/ q; Z" V8 @ var node=objs.item(i); " ?$ D8 T- t, T; Y8 ~
+ }7 ^0 w0 s4 }- n. e 3 Z# h+ s: [% k$ X. {5 K
if(this.getobjstyle(node,"display") == "none" ||1 B W/ M, `/ z( q$ E
this.getobjstyle(node,"visibility") =="hidden" ||; [! O. F3 p( g9 i+ P
parseInt(this.getobjstyle(node,"font-size")) == 0)
$ }( }( ~1 ^: p {% c* y8 D: X* z. ~* w6 e
if(debug)0 h( S/ C4 `* G9 x* ~: Z2 i4 ]( w
{) M& ?! O. h2 i7 t% {' r" h4 l
alert("remove invisiable!");
7 a0 B; Z2 f% H1 h } V* `) q9 ~ M/ S7 L
node.parentNode.removeChild(node);
5 q! l) W" s8 W / i+ K+ i- i5 u, g- x' S
}. m1 g9 S# M, o% {1 O7 e
else ; c& N% _7 Q! D! V& G6 Q3 T
{
( E4 s5 b* l# k9 V if(node.parentNode)
8 s5 y! t% {/ c" y6 S. s {
- \+ w* `8 k* V+ b0 A% y. ? var orgNode=node;4 X& b4 r7 \2 p7 @3 N
var orgColor=this.getobjstyle(orgNode,"color")
! E% L) _9 D b3 y7 \. d5 _4 Y& b ~. D var orgRGB=getRGB(orgColor); ( q0 g2 u/ I/ y5 h! C; S
9 b4 n& Z# }- L% D# F8 x2 b
var parentNode=node.parentNode5 P1 v' @% [0 {5 p- v5 [
var parentBgColor=this.getobjstyle(parentNode,"background-color");0 m' E) n# L6 F/ H7 |9 Y: ~
! q5 y& v- q1 E; I( U. m
var isLast=false;' D0 f( e$ l8 h% R- H: U/ q% Q
8 Z& f! l6 W$ {! p, N# a
while(parentBgColor == "transparent") 7 Y! z0 u' O. t/ p
{% g1 P, \1 K6 N1 X2 T1 H: S7 O* O2 ]2 k
* |9 `+ I8 F) c( h* l 9 k) I" K1 f# v$ O% ~& o2 X% T
if(parentNode.parentNode == null)+ G! m; Z' t& {5 x
{7 J6 H4 B8 h) s( u$ O
isLast=true;1 p) j6 o$ N }7 z8 f( C, p
break;
% P$ @% p2 ^7 t) H1 A! F' j. }* T }
4 S4 o9 G9 c4 z& ]2 V# z, ? parentNode=parentNode.parentNode;) c- ~4 @0 r1 r3 l
parentBgColor=this.getobjstyle(parentNode,"background-color");
8 H' H" P3 i) h" I! I3 L4 H* R, m$ n
if(parentBgColor != "transparent")
- j! M" K9 p X; `8 u {
; R* J `2 C/ }1 f; U, `9 }4 M( ^% @ break;& j* d; k& {4 R% K
}9 y) p" J! ~5 k, R0 k
}
! D6 k: c. j% `, S if(isLast) / x$ m" H7 J9 E; a u
{
- S$ ~/ u/ m" g, C if(debug): ~* v' @$ W4 h0 P' o' G3 [
{3 {2 }0 X( B! J6 G5 t6 r& p
alert("last!!");
2 v( F! q/ m; f. R8 l }
# \. x# L H: t, r if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 r4 X/ y1 K! w8 ` {
+ |1 @/ {. {4 H6 h: K% Z orgNode.parentNode.removeChild(orgNode); 7 r; E/ C% n. l' Y( w- w& l4 e
}
3 w' @4 U* n3 |/ A2 V) ?) {/ S }: I* C; }- K8 q- G& m# u
else
: p$ O( ^ I/ n4 i {
6 G- y4 f3 n: S- r if(debug)
% P' e( Y6 p6 P {
2 \2 t l0 D7 `! W, g4 i" T alert("compare color and parent bgcolor!");
/ \6 V1 N5 ?8 ^( f$ ] ^ }$ q% R8 U/ g6 @+ g
parentBgRGB=getRGB(parentBgColor);; \0 L5 @1 N j j; A6 E# i+ j2 Q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 o- p b: H. \6 w0 V
{
6 R! ^& ?2 K" \# Z) g orgNode.parentNode.removeChild(orgNode);
1 k# j+ c$ B5 L7 G% g8 E0 o' N J }, ^/ N8 g A2 L' h) [( s
}9 G% t3 q. d, W4 U
}
) N& I- A, p% y" T6 A; B+ H: { }
$ F3 B, n$ N5 T! N }
3 t) O& ?4 _, f9 n) K) @ C. t }& ]0 _2 N$ a8 {- R
7 P$ p B* w8 M$ R6 k
1 c8 @, T& l6 [$ E$ z3 I' W
var itemFrames = page.getElementsByTagName("frame");
+ c7 @' o" z: n" c var itemiFrames = page.getElementsByTagName("iframe");8 o- m6 l2 f2 m4 T
1 H% r( j7 H* y. k var frame, iframe;
: }1 {) p+ g# f/ F E if (itemFrames.length > 0)! k& S. p6 _! A* }0 |
{
* z, u, B/ _, ?% e6 ?3 F for (var i = 0 ; i< itemFrames.length ; i++)
9 j, e! }1 h7 H5 ? {
: S; o3 N6 |8 Q; A/ s( _ frame = itemFrames.contentDocument;
3 h+ @6 u, X0 r- Q9 h. { this.RemoveHide(frame,objname);
% @' s9 W/ Y% x3 @ }; y5 G' h' d( N0 n' m A
}# w" c0 v- H# W7 ^! Y0 T
if (itemiFrames.length > 0)
- A: x' F! o: k- z {& p8 j3 e0 y* w+ Q2 t
for (var i = 0 ; i < itemiFrames.length ; i++)
0 r& p4 I& V" E( a {; l" j" v. o( A( }$ W: F
iframe = itemiFrames.contentDocument;* N$ h C$ S$ i1 ^, B( Q
this.RemoveHide(iframe,objname); ) }' C6 y4 N$ P" g0 Z! R
}
+ Y0 v8 [( x; G# o v" K2 H; D+ } }& h2 z1 p$ X* \8 N0 M9 _
}5 y/ x Q7 v- z
catch(e)" o4 K$ m9 L. m3 W m
{
/ }0 v1 V" z4 c% u& d0 G" p if(debug)
/ K" O+ [4 A! [ {
V( z# i. H3 z9 z% R0 ~ alert(e.message);, A$ K M% c) ?6 W& d, v
}4 f6 D+ ]$ M7 W. N* a/ q) r; n& v
}
; {6 N- \1 P' H" g }; r: \$ O/ {- ^; b! O: D
: k+ M, R; G4 P
} M' o9 L7 F0 D, U6 G
; c# x( H9 r3 A" n [function getRGB(colorString)
7 O! Z& b% i! J/ T6 ^{/ g% J2 v$ j& i1 X2 T
var RGB = new Array;) U7 U7 y' H# F8 f
var tempSting=colorString.substring(4,colorString.length-1);
' b2 m" b9 [; s5 G( M( k7 P var tempArray=tempSting.split(",");0 b$ m% \( [) } o0 E! ]+ ^/ e) y
[( |8 S2 K# G/ w0 d/ Q RGB[0]=parseInt(tempArray[0]);
' X! w5 I9 l! q) @5 C RGB[1]=parseInt(tempArray[1]);) d( G8 s4 J* h# i" g2 }+ o( d
RGB[2]=parseInt(tempArray[2]);! b/ W1 H9 z2 M8 U, ~
+ A# y: S/ I+ c# t0 h
return RGB;/ g+ ~' A! k- f6 [1 k* j* D
}
) F1 U% M- C7 O8 `function keys(evt)
5 S9 F, B6 P+ w4 Z { k) J+ i8 ?0 J5 j" \ W- f& a: `
if(evt.ctrlKey && evt.keyCode=="81")
6 P& j" V* y7 X1 f( q; F3 R+ a {
[+ ?( z( U% z* ` | CleanHideObj.on(0,1);+ t6 w2 G8 e8 ?& s. z# }4 M! T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 _" q m( k4 J3 h0 h" z7 R# z1 ?6 P
- M7 V( r2 _% `/ a7 p; u
} & Z' }' S% A' e
}
4 b( D; I6 }" `$ v( s: b% ^document.addEventListener('keydown', keys, false); - @9 i& l# c7 A
GM_registerMenuCommand ('Clean Hide',0 A' n v( D8 m5 a( q# w) a1 v
function(e){
2 Y4 N, S! V; tCleanHideObj.on(0,1)
5 ~* G) B! v A2 U) Galert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 v# h+ P" C+ B a J});2 X5 F# n: o" r6 f! _) s
|
评分
-
查看全部评分
|