|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 d5 L( l6 \1 J0 I) W t3 a
6 @4 Z7 y" r5 `, l% O
火狐插件,用猴子
$ G* C' ]) I- W
0 t/ f4 X3 m5 J e) a1 _var debug=false;
- f/ o6 Q$ f; ^- f* I/ i4 Ovar CleanHideObj=new CleanHideClass();
" q4 u0 E- ]$ ]# |5 i" E& p; e1 H+ r% y* r, e
function CleanHideClass()
& G" u' H0 a. O{
0 ~* `& d1 p4 v0 j3 _* c" j& C5 r
& }6 ?5 Q- X* O; Q this.on=function(id,bMZ). c0 K& N: t( v9 c$ }5 K4 v
{
) }) O! z8 N+ ]& |3 X
4 s5 T5 d F) v' e3 N& r if(id == 0)
6 r! v8 y& {3 f& E, ~. ~ { Q2 D) \2 Z' [: e0 ?% N
var page=/* document.getElementById("content").contentDocument */document; $ a! l% C; d( J
this.RemoveHide(page,"span");8 c* U- m, D$ v$ D, I- m; X
this.RemoveHide(page,"font");/ ]$ ?3 v1 R7 p
this.RemoveHide(page,"div");
8 P$ b0 q$ T7 i1 L; L3 O, h this.RemoveHide(page,"p");
1 j, ~" f1 p. b
; W# o2 d9 X& J5 \; d$ c }- S$ m1 w/ g# k5 H
. M, g5 m1 ~/ {: x( {1 Y7 s }& A, l3 S" V4 P& ]; B
this.getobjstyle=function(node,prop), S/ s7 b1 i6 i- m6 e
{
4 a1 E0 J |9 T try
; M. r5 \. H, R% Y {
, o) Z, [8 o1 ^$ S return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);/ `- w& [& X) z9 F* {, d: V& H' V3 I
}8 M9 _% S6 v. t5 Q6 C/ C
catch(e)
3 G3 o# e: c$ f8 U- G1 t9 x {
$ y. F3 _) z6 e# m& E1 m5 ~ if(debug)
0 b$ r4 Y/ n0 {/ t9 e2 l {
- w# j5 ?. W! A9 ~ alert(e.message);
) W/ r5 ]8 X- [- D6 \. F. r/ }3 P' p }
( z7 I8 }; u. ~$ |
9 p s o& A k, y) b$ Y return "200";! ]/ e! J8 l! X
}
" b6 }; C- [' S `9 ~* Q }
' X: ^9 T: U: l! n1 E: I6 R9 S3 o
( D* w$ L/ m1 q% p! a8 o# d8 v ?6 G this.RemoveHide=function(page,objname). C0 ~* v5 j1 D- @ n* E* T o1 g, j
{
. v' s$ k! g6 A3 H try
, m0 s$ z0 L1 ?0 f {3 U: P3 u3 y a. G3 O s
var minValue=15;% u2 u2 A/ d. D: H1 q5 }" I
var objs=page.getElementsByTagName(objname); 3 V8 ~5 i* ~/ a2 ]7 l7 j; p8 }
: C5 T; [, t6 W6 x+ z if(objs.length == 0) ; _4 D0 q5 D! f0 U- ?# L v
{( B. G; |' Y! N% |- b; T( o! Q
if(debug)3 X; z* c- c& _4 z/ `
{
6 l4 Z* e+ F! h# w& c alert("no object found!:"+objname);
X' y, u& v* M9 d5 M9 |3 }# H }0 c$ M$ W% r u! U( y
}
+ y, w, I, F1 e else% a+ r4 |! q. |% U
{+ [# C2 I, H9 v/ w( @& v/ |3 X D
# h ^& H* y: s2 F$ n7 ?% R' Z
for(var i=objs.length-1;i>=0;i--) ! h/ a9 k/ O- f; f
{" G0 Y( k6 x! _: ]
var node=objs.item(i); - ^0 n) R7 a0 P0 h, @3 [- D7 R
" i& c# G# Z9 f3 Y8 |6 q , h* U, Z/ ?5 d" T! K+ f
if(this.getobjstyle(node,"display") == "none" ||
' T2 q! g$ d5 ?3 A1 P5 o v) i this.getobjstyle(node,"visibility") =="hidden" ||
- J8 U4 G% c3 j- e% C parseInt(this.getobjstyle(node,"font-size")) == 0) + A; k. z. z+ s* V5 ]+ p
{* s, J. _$ M- c U1 c0 O
if(debug)
: ~" }7 T9 i. k/ @- w {
3 z' q7 m! b! f) B- I6 [5 Y ?- F alert("remove invisiable!");+ ]7 i& e2 F) V- R
}
" ~1 X H* B1 K& y* q8 E+ j# C node.parentNode.removeChild(node);
; J1 g/ L- u. w, b3 v& E0 | 8 k* q" n1 k7 t( D6 E
}
1 k \' I6 C. U9 F: N) k5 \ else 3 s- b. c% j; w. A# A6 f
{6 u8 p4 M6 c, v3 A' c8 k2 L) M
if(node.parentNode)
" Y8 N/ ?& \" t {
" ] c0 x0 e9 M$ w4 `9 [; y var orgNode=node;( N! [' m- P9 Y: Z1 E; J* R
var orgColor=this.getobjstyle(orgNode,"color")# @4 m: e! ]% x! E# ]2 X
var orgRGB=getRGB(orgColor); 7 r$ G0 r K/ L: c
* o5 t+ I1 L$ _) N) E: r! u- n2 ^+ F var parentNode=node.parentNode# ^" x0 N6 z8 f: R5 k) a" o: i
var parentBgColor=this.getobjstyle(parentNode,"background-color");' H% z( r5 \+ n" @& h, z6 z
* W2 N9 ^+ ?0 z9 Y* p. Y# ^1 Q8 s1 T
var isLast=false;! @3 ^9 B* u T! K; t3 u
( K2 w& L6 ^! [) f0 T while(parentBgColor == "transparent")
; S1 ?; {! {& u. Z {
1 I5 R( [4 _- k& d9 w
# E& m8 d( g/ ~ 1 M4 s* ~! Y2 H6 k: E7 p- ~
if(parentNode.parentNode == null)
! I; y* k1 k+ M9 F {7 n2 V$ s) l9 @! Q, w! P
isLast=true;. f+ J5 `7 @9 G4 ~+ ]
break;" S) t9 y' e. i$ ^9 D x1 y
}4 B1 w I) f1 {- s# l: K
parentNode=parentNode.parentNode;
/ N. J: H" ]8 `2 C2 c5 j parentBgColor=this.getobjstyle(parentNode,"background-color");+ O; l2 l% B' v" m& [0 u
; M1 v6 E& f0 g# m
if(parentBgColor != "transparent") 3 o! I( H5 z8 t0 e/ W! q8 u
{0 r, C8 e! Q$ S$ Y( `9 s! B
break;% j# l( K# n% x' v6 Q! F
}8 h0 w! z" @" B( n% ]' K
}
2 l: U+ B/ C9 ~$ C' x: x if(isLast)
+ M w. n& ]' `. x6 ~4 w$ k% ~$ Z {
- m( ?. o) G. N) `6 n0 h5 O( i- A if(debug) C! ?: s8 A- B5 Z4 L
{
9 g) f/ E* T5 U- y alert("last!!");
# q5 u. K: y2 ?7 H3 u } L" m5 W" y# U9 r3 y' c; P
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& |& l: ~8 s" i& q- y" q% G$ F& I
{) J1 D) N/ C* u- e
orgNode.parentNode.removeChild(orgNode); 2 F, \6 C9 a/ Q# [1 ]
}* B( U# p f( x8 S3 U$ M" i
}1 ]$ A v) C- p
else0 ?# {2 d) \. E
{
2 O( C. l6 w, } if(debug)
1 p5 }! H" w B8 t% e' ~ {/ j# U- t& T" p+ n' v% j
alert("compare color and parent bgcolor!");
3 G/ T& e3 ?& t% t+ H( u4 m0 p }6 i$ @& ?5 Q+ K7 l0 Z. e
parentBgRGB=getRGB(parentBgColor);# P) A- G. c: U4 ]/ _% }
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
2 l) Y; K, N3 J {
9 @) J" i" i' J/ ^! B orgNode.parentNode.removeChild(orgNode);
. s2 N9 o: r) Z7 j s# \ }0 ^. @- p/ o* w8 R! w' _
}
3 d' o- g# @0 Q% j8 d. u8 Y- m }, s. p2 S( C1 p; M" o% g( M
} m% X2 K# Q# V2 `
}7 _1 c/ O7 B* Q4 g5 _( P
}7 v+ h$ @. G9 ?+ H# V
" I0 f3 @$ B I, M1 G, q
0 V, `3 e0 u6 f! [ var itemFrames = page.getElementsByTagName("frame");# |9 j( @$ ]. C; F- c9 U7 A4 z% j8 [% [
var itemiFrames = page.getElementsByTagName("iframe");5 q6 d0 I A, J+ F7 Q) Y
0 ^0 l0 L/ @ w; q. {2 j var frame, iframe;, ]3 ?2 U: o2 I
if (itemFrames.length > 0)
% V. Z# t% T- _' _2 ] {: L! ]; I6 V' d: Y
for (var i = 0 ; i< itemFrames.length ; i++)
. l2 n) n8 E: ] S {% o7 n* T; B% G7 t8 X% Q
frame = itemFrames.contentDocument;8 |- D/ \4 L: k" c" s+ g# U1 F8 n
this.RemoveHide(frame,objname);
$ \" L8 P; ]- |/ }: H }
& ]0 B" V$ H u/ m% B. F* f# i m+ O }9 L7 N5 k5 A& r( `; m6 U+ m
if (itemiFrames.length > 0). q4 l' m8 I$ h# G- V
{
* Z3 l9 g& X) C i0 Y s& G5 _ for (var i = 0 ; i < itemiFrames.length ; i++) ( B* I$ z+ a3 v% f% A
{2 c, |+ k7 i/ o0 o3 V" t+ k
iframe = itemiFrames.contentDocument;9 O$ D8 |( ]7 g4 a3 {
this.RemoveHide(iframe,objname);
8 W% s; ?0 C- V" N* G+ y( _. g }6 |+ s$ p4 D/ N( P" O
}& @" K1 J% P* x; W# ]: K
}
( f: h" G8 S4 n+ W2 n$ u catch(e)
" i4 F7 y- m3 X5 m {
4 x& j2 y& A6 o; u! x. Y! D if(debug)0 s# c$ ?1 {' y. H6 d
{
) n1 C8 h/ x: ^+ v" z# \ alert(e.message);3 O! Q, F0 U2 q% g$ [9 |' B6 l$ w
}0 W: V% }6 `( R9 l9 \
}
' L/ t3 l$ p1 z+ [4 x- Y }$ A! J. [9 E, s: }+ i4 `+ p2 [
% [. _' Q" t* x}4 r5 {7 F: Z2 I( q, y [
8 V* t4 Z9 Z0 S6 b2 j* @, o5 v _+ ffunction getRGB(colorString)6 z/ K! h( M, } D; I/ ?4 n
{5 U( w. h/ i) u
var RGB = new Array;
. t8 o2 l7 K$ A* c var tempSting=colorString.substring(4,colorString.length-1);
" D* S, w% a( |; m* B, F var tempArray=tempSting.split(",");/ W# K5 W# I- L& B; _7 u$ }
- t# Q+ F' `4 F) i6 n" u W6 b _ RGB[0]=parseInt(tempArray[0]); T" ^6 o% f6 ^; ?
RGB[1]=parseInt(tempArray[1]); w$ ?& ^) e# O0 S- F
RGB[2]=parseInt(tempArray[2]);5 X/ _) N$ g( u3 \# S1 J% T6 {
l! t& Q5 ?$ [3 r( [
return RGB;. m- e3 P6 |: [; I+ o6 k" ?" \; |9 C
}( W/ h6 \- i8 d1 A3 E( p; m2 b
function keys(evt) 6 e6 ?4 s, q W- @( O
{ # j/ x9 V" P, r- ?; I3 z0 S
if(evt.ctrlKey && evt.keyCode=="81")
% R4 F4 H3 G9 x6 k { 7 T+ v$ D" e$ q& z. v) {
CleanHideObj.on(0,1);4 j( X: x; X" S
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 X# E: }! Z# |/ g$ n
1 {' h# C! f$ o2 r3 @4 g8 W }
! g T1 R; M* Y0 a" F: ~+ T }
4 d& C" W Z& Z, V) a5 z5 T& V- {9 t0 vdocument.addEventListener('keydown', keys, false); / m, w" h/ @+ L4 E1 o. @. Z4 v
GM_registerMenuCommand ('Clean Hide',9 Z& [& g: h7 L
function(e){
# ?1 ?2 r7 X: C9 J* h7 XCleanHideObj.on(0,1) q- u3 l( `# t# j: E/ @* H# \* y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( T) F* x. e& \2 C
});# T2 s& k6 T) y: h" {
|
评分
-
查看全部评分
|