|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
|$ p# v; h4 O' f
+ [+ Q( r7 Q; S* \. s: ^火狐插件,用猴子
^' H0 V' X$ {
5 A+ C! z: {9 ?, _9 m5 ]var debug=false; ) x% G6 U( A$ u6 S: m* C% T( z" q
var CleanHideObj=new CleanHideClass();, B: [' F$ w G. X2 B
$ f0 |0 g( S1 R- lfunction CleanHideClass() . k- O! k3 i2 I" U9 t+ t$ c
{
7 B$ c; B+ C7 o) A4 @
; ~5 o4 _# J5 @% q3 R! p; U this.on=function(id,bMZ)
5 s- f0 d# j ~7 J; m {9 L+ y8 |! K5 m$ t# U) H
% } t M9 {; u1 v1 m1 A
if(id == 0)
* a' T& w+ _% C; w* a {
8 w0 b5 I$ N) _. |6 g+ A5 X4 @4 a; E var page=/* document.getElementById("content").contentDocument */document;
# v: _* w: C" w( I3 a! `, p this.RemoveHide(page,"span");
+ K# L- B5 n3 I this.RemoveHide(page,"font");
! e; a: n: i5 x; B& Z this.RemoveHide(page,"div");8 @6 g* G2 D; p( m' R
this.RemoveHide(page,"p");5 v( T, Q0 N" a) \
9 z/ P2 H5 U. B/ U5 a8 x1 Z
}! R" q( [( ~' ^
! h: e5 c' k. k5 L5 d- h' N
}, \; C7 _$ @2 x1 H/ {: z
this.getobjstyle=function(node,prop)+ M: `! k3 n9 J4 R3 L- _
{
5 I4 a2 V2 A+ d- O" b" t6 v& K try: p1 b% E! S1 A7 L3 c. p& |! v! T. M
{$ G+ A" t' I" Q( H
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 P: [6 i# F" X) b+ z4 @4 `) w }
1 \" i& ?9 A) a- q, p @8 z% J( s catch(e)
$ n! V) ?/ ?9 l. P0 c1 _$ \ U {
! I9 A2 X0 i, o$ \7 @! ~& B% A7 E2 s if(debug), q7 w) k! b4 V) l+ g' L7 w% K8 Z
{* W8 W" t: W6 I" s" y7 e- M
alert(e.message);
8 r' i8 O V$ J: j% c }! R( i* L5 I9 V/ C
5 G6 s0 D5 M, v- y7 M, ? return "200";6 r8 d' H1 ?' T0 D& }% E2 [
}
3 z/ @! Z' q3 R$ K }% p! z) b& M& h+ x! t% y! k
: t4 P- O8 d4 ~- U+ j1 A$ b
this.RemoveHide=function(page,objname)- |$ b8 Y; Z/ J/ U, F* ]7 j( F4 s
{
' q* q+ y7 S2 U+ |3 ^! w try. W+ }: I; Z9 r% {
{3 w' M% q- _4 ~+ b" c* k. b9 i
var minValue=15;% {9 H& a0 u7 k, r
var objs=page.getElementsByTagName(objname); & G6 W/ _9 W1 I: I. Q% n0 C
# V. Y& P" b) G0 |+ |' s
if(objs.length == 0)
) I! U2 a0 W) S& u+ [! E {8 j# y" |5 F# [' O
if(debug)
0 S4 E9 W v- R% H- ]2 R/ m: p {
4 [% D/ F" R+ q) b" N4 V* s" R, e- T alert("no object found!:"+objname);
! k7 N6 J. {* W$ t, A- i }* y5 `4 @0 { O: n& V
}- _( s8 r' D' d
else
3 ?$ L% L8 ]6 \ {9 f6 |4 i8 Y0 a! K, U
7 D: l' C: i4 Z N! `& n
for(var i=objs.length-1;i>=0;i--)
# o) f) W/ C1 l, s6 i# L# [ {/ A" T5 L2 k# |$ f
var node=objs.item(i);
! r3 K! Q4 o, z6 y- U0 Q3 F ; U8 }' u h# T8 \2 R/ H. u
; q6 m# B/ S5 t( q9 ^+ q if(this.getobjstyle(node,"display") == "none" ||* @9 a+ h0 S! Y5 ~. \% R8 G/ `" u2 K
this.getobjstyle(node,"visibility") =="hidden" ||
# U5 y) i# U+ k& d parseInt(this.getobjstyle(node,"font-size")) == 0) & N/ O1 U3 r8 A9 y
{
2 \% x) j+ H- N5 f if(debug)
: k! c2 h- w; \/ n7 x {
, t- o/ _/ V7 E' y alert("remove invisiable!");2 I# v/ b% E4 y. p- q# G
}% W0 k# c# ?! f$ k5 y& ^* t
node.parentNode.removeChild(node);
# {# W( d# H. i/ k; q ' i9 ~8 b! Z* }2 v. E7 y' C1 K2 ^4 t
}/ z$ S, ?5 ~6 |7 S
else $ u( L" [/ |, M7 q' z
{
" c+ R$ U; A7 p# S# X @( z if(node.parentNode) : d) [5 W& a! z0 Y5 A1 M
{
7 L( O1 C% V1 c' X" ^$ M var orgNode=node;. W8 M: R4 s* i
var orgColor=this.getobjstyle(orgNode,"color")1 q/ C! V( m8 @" W; s0 Q Y
var orgRGB=getRGB(orgColor); : \/ w! ^5 |7 [9 t
' M5 H5 w. G& M7 ]" a
var parentNode=node.parentNode3 w! l% J2 N8 S0 Z- A: m5 ~4 S
var parentBgColor=this.getobjstyle(parentNode,"background-color");
. Y3 E' e4 |0 a+ c7 t8 T# w, A ) o: p+ {. J3 s( B7 N
var isLast=false;; F! A3 U" k% A8 i) I: p4 M
- j; j- j: l3 o: x6 A6 s. _
while(parentBgColor == "transparent") ; Y7 O; H( _, c, c& |! J% \2 T
{& `" q# o1 }. u
5 z% u- g' Q3 ]9 s3 f( t" B, b" ]6 y
; _" ~7 ^" G- [1 B2 P if(parentNode.parentNode == null)
" v2 }4 V3 c m( |& H7 r8 q {( o1 n7 @) L/ X
isLast=true;
( t7 |* C1 z s( h break; s* T9 U3 K+ ~! Y: Z! |4 U' G/ Q/ z
}
2 L, f6 V, k. ], |$ A parentNode=parentNode.parentNode;7 R4 K* H+ _3 I/ w
parentBgColor=this.getobjstyle(parentNode,"background-color");
3 q A9 }$ I. H _) p! m, k% f& a5 ~: U' B5 p9 D1 n* y1 K
if(parentBgColor != "transparent") 3 _4 v! M& P* K' Y% x) d8 R3 q
{1 v' W5 l& T3 I& k: h7 K, c* O
break;
, S/ K+ c" q, u, N! G" E A }
) S n4 U- S: h# \4 j5 L% ~5 U- b }
! X4 ~, i8 Q+ i0 E- j0 p% [% R9 O if(isLast) - f! U- F# k( a$ V$ y) `" P4 W4 o
{
# r- t D: M2 s6 d$ f: k* S' k if(debug)
l8 Y1 B/ ]# i: Q5 q: } {5 n$ Q: i+ P( p! H% F8 W
alert("last!!");
; f; Q( [! P! o8 F# l* p }
( Q8 C! e* |$ D5 H' e9 [8 H" Y if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% i- Z2 [! G9 {' t7 D/ z, g {
2 c6 t6 ]9 i, E! U( ~4 Y orgNode.parentNode.removeChild(orgNode);
4 H h; i' R2 g5 R }% s1 U# w# F+ M- Y4 Y" G
}
0 [7 \5 i2 [; U, E. d else
, G+ f; l( C1 U4 ~; p* q {
/ u) K% g$ g! ?" U* Y3 h if(debug)! e$ m# P- y, O! G0 ^) ?
{. e) U' F* u. S- m4 _4 @
alert("compare color and parent bgcolor!");
; a& Y7 E3 T' h1 {/ Z }
0 u' O( z5 R# M2 i0 g7 }0 p! } parentBgRGB=getRGB(parentBgColor);( C C4 t( M0 e2 x2 @. n
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) \# F: N* N! x% q7 q& I: A& N
{
; y$ ~* j/ ^* S3 ^* K; J, s2 \ orgNode.parentNode.removeChild(orgNode);
! Y) J3 G2 B( c" _; g }4 y, Z" W7 l/ w( Z) F& A
}6 }/ ]9 y: T/ J+ [
}
9 w: r. R" U& P8 S, n$ z$ b }
/ b1 A& X) W! O5 r) a' i$ H }, N( b' a2 _+ }; G2 y* B( r
}% S, t- ]% ?* Z p
$ E9 }( _/ r) f$ G* u! _ 6 d- ~! i @- t7 k1 |' X$ k
var itemFrames = page.getElementsByTagName("frame"); X: v2 O6 T) n( ]1 `
var itemiFrames = page.getElementsByTagName("iframe");
5 f$ J. M; A6 Z6 c4 i
- I0 [. a/ s9 [6 M var frame, iframe;/ u2 ]* i+ d8 I- e; L& i
if (itemFrames.length > 0)9 Q, J" b! t- i# L, v( `
{
: |5 d2 w: Y3 Z Q for (var i = 0 ; i< itemFrames.length ; i++) 5 Q4 h1 A4 q% {6 g% f+ b9 r
{/ B1 h+ z3 o0 U+ q" G: f' K
frame = itemFrames.contentDocument;3 P& m; S; m5 Q L5 z+ c
this.RemoveHide(frame,objname); * p! a% l6 B8 [ H
}5 E. q! m% p( d( q- N
}2 Z3 J, o2 }0 Y' @5 f
if (itemiFrames.length > 0)3 E# F8 M% H' h+ i
{* g2 ^7 b- p. B2 z# w
for (var i = 0 ; i < itemiFrames.length ; i++)
: s$ E+ T$ ?) ?0 y" n {
# U, k: ?+ O$ D9 c! V7 W- T iframe = itemiFrames.contentDocument;. l" d/ K) C4 K
this.RemoveHide(iframe,objname); . H5 ^& j8 I D- D6 e
}' J8 d8 V+ S7 g$ G
}+ r% c! o" D, W( H G" @( l" b
}9 I% L/ O% Z; v1 Y, s
catch(e)
: Q [7 C: [3 C5 q) \- T# C {. g" r5 ]" x, ^9 I- j
if(debug)5 c$ l% o9 i" A8 K! h( V8 L( g
{2 t8 W2 F* H+ t6 o9 W& s3 L1 f
alert(e.message);% a, d/ ^! F$ h1 c* M: z( k
}; ^- S! p. X! k& F" w% |) K
} ^1 j5 A' f& Y. J- E( A
}
) M. @" O# K7 x& V2 ]
0 n0 J3 I" T7 i}
: g* I2 n- f: m3 E/ e2 N; X+ S
. Q' E. ]! X8 R4 p9 P% y/ pfunction getRGB(colorString)
/ f2 N/ N; Q+ ?) o$ m{0 z& c A' ?5 r: c* I+ R
var RGB = new Array;7 p1 v+ D* [8 J- Z0 f) V0 H( u
var tempSting=colorString.substring(4,colorString.length-1);
9 o; o/ p9 C' C0 W var tempArray=tempSting.split(","); S L( v. A& `2 s( T
5 c" O, E9 p9 p, O( u0 ~3 F, C
RGB[0]=parseInt(tempArray[0]);
6 Q# F# j+ r, j/ Z1 M8 k' H RGB[1]=parseInt(tempArray[1]);6 A2 v8 z8 C. N" G7 {
RGB[2]=parseInt(tempArray[2]);
. q9 n! H/ c+ r9 [6 a+ d: }
! G3 k# A, }$ P7 a0 w3 g+ q/ a7 C return RGB;
: F e I$ a) @}- q( p1 l, ]+ f5 \& b# U. P" U# C% L
function keys(evt) # d( v3 |* Q% k* w
{ 2 d- r* b* U2 K& V1 A! k# ]
if(evt.ctrlKey && evt.keyCode=="81") * [0 Y5 g' s+ y4 Z; s+ Y7 n
{ # N3 R, y* r* h9 P5 {: G# d
CleanHideObj.on(0,1);
5 u4 J, M3 z0 S `, T alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); , |) O# w }, h6 u+ O5 A
; }5 B! ~% G" [6 a( F1 v8 D4 Y; Z- K
} j8 @6 z n% V0 D* [
}
! v( L- {5 E( Q \document.addEventListener('keydown', keys, false); # ?4 u/ ^ _' ^. ?
GM_registerMenuCommand ('Clean Hide',6 f/ O" U, ?- J9 w8 }
function(e){
7 c8 j0 l& K( t" lCleanHideObj.on(0,1)
# r5 q! Z0 n6 v& {4 o) q! Nalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");3 E- N6 ^$ T1 U" A- v
});
' ?, ^1 b, q- B0 w1 w- J |
评分
-
查看全部评分
|