|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + T) A' z5 P" D! b# j
! k8 z) i0 K6 P8 f( A( Y2 X
火狐插件,用猴子
& T ?9 t! z& j# c7 c
) q* Y# w, W- f& evar debug=false;
( O' [" C. T$ hvar CleanHideObj=new CleanHideClass();2 a3 s" U( G4 W5 k8 j
1 v( }8 G: f5 B' b+ K
function CleanHideClass()
3 E& i2 T$ M& i{
5 t. o- N( f5 p7 `+ I5 f
& W% `9 l# f% d4 a this.on=function(id,bMZ)
4 E+ H2 W: P4 d: P {
$ C A7 W- L, j( V# i `9 I: R Z; S! m4 b
if(id == 0)8 x% Y2 ^5 E) t4 |. H
{
# d) Y) `' n/ p/ {2 E3 m: e var page=/* document.getElementById("content").contentDocument */document; , X& E6 `4 O3 R. v0 ^ M1 E# U
this.RemoveHide(page,"span");
! z% ]0 {! ?& M! [" F8 E this.RemoveHide(page,"font");( k. H5 r" F" v$ m! O- `3 d
this.RemoveHide(page,"div");
5 I u' C# f. c# P; c this.RemoveHide(page,"p");
; Q) K$ ]; c$ d& _: [ ]5 L
; |6 n$ Y! ^4 O6 f/ P4 O) B9 o }7 X+ e& a; J# W% I
+ N5 b0 q3 F4 M8 B
}; _: o2 Z3 B: A) U/ I) e1 b/ W& E. V$ K
this.getobjstyle=function(node,prop)
) R! H; j& o9 }; M, _ {9 \2 K3 u( o7 R8 P! Q' `
try
5 I$ W7 W+ n k3 o { f5 y0 ?7 E. j% {3 m( ~1 |" x0 {
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
& f P* Y p" O+ Y }
: B3 q: s' x' n9 m$ { catch(e)( G/ ]8 @% ^5 `* l/ b: e
{
% i) g" ?4 {. V. e: O" s if(debug)
' S0 r* a0 {' \1 Q/ q {
# M& q; s6 _5 z6 _ O+ b; {) s alert(e.message);/ H6 g& {" E& J6 B* C1 {7 b
}
9 R/ n2 {' l4 }5 V) v % p/ g1 y# \$ R x( F: T
return "200";1 i3 t! G6 o; B! }
}2 v7 A9 `! D; T- f5 n2 u- f
}
) L" A" d% n: l$ S+ M 5 q4 t, r3 X; ~3 V( ^' e+ |
this.RemoveHide=function(page,objname)
; {. o# I3 h6 ?' @0 z# ^ {& X6 F9 N6 R' z9 h! N. r, S
try
, L7 i% Q( e3 H* r' Y4 e/ Z6 ?! P6 Q {
6 `; p, t6 e- ]7 W% | var minValue=15;
5 @# C& {/ A( |4 ?# \ var objs=page.getElementsByTagName(objname);
4 n6 G- D/ d5 h6 m. j- H! y$ `0 Y8 L/ T% u* `, e3 a4 j
if(objs.length == 0) 8 J5 ^% h" H G2 j0 E( u
{) X+ V8 J8 S! L, e1 D- Y
if(debug)
6 E$ ]" Y8 R0 j& K4 v3 { {
! }9 h# R* D! L& V alert("no object found!:"+objname);
# N% F2 d4 |# c; b6 \* ^ }
/ q" \1 N% a6 z' f t% @7 V }
9 q( L8 p0 B* W" z- q else) }' [ r) s# {+ a1 N" h' K* B
{9 C. |1 Y: U4 W: ]; w7 ^, n* }% Z
/ `5 ?2 X1 K5 \! ?. ]4 y' q- g for(var i=objs.length-1;i>=0;i--)
, k% I, v, _# X- n+ ` {
& R7 v! g! L: o! j5 _6 i8 A var node=objs.item(i);
+ r' d+ R1 ?. k; b! V4 B8 l; q" ~
) U. m W$ W3 h9 W+ m: B
1 I- J! c& P2 T E- r if(this.getobjstyle(node,"display") == "none" ||
5 g! f* f! B8 T0 k! w5 Q% {% c this.getobjstyle(node,"visibility") =="hidden" ||
% ?, Z8 _9 j9 l" m1 W8 k parseInt(this.getobjstyle(node,"font-size")) == 0) n& f a6 Z3 K" p* R. ?
{
3 h2 m7 X2 {6 I if(debug)
! n8 f5 f: F7 }8 Y% G {. b+ O3 `* A' [- N8 q5 I4 K& G
alert("remove invisiable!");
6 u: b m" Q5 t' n: F3 p' ?6 R }
X. \1 n, g2 q+ ?* C: a9 Z node.parentNode.removeChild(node);
) a4 u# s, n5 u b, H/ B
5 d: P% d$ h* p. V; j }
$ H$ \2 b/ k, L' H# @, g else
1 B( v, }0 z! x- [/ k {
3 y* O) M4 Y& Q# J8 G3 S if(node.parentNode) 8 Z* S- p$ D+ `2 S8 }
{$ B' A0 N) M' |# T: e' Z$ h
var orgNode=node;0 F8 T; L4 l5 d. H
var orgColor=this.getobjstyle(orgNode,"color")& K1 K4 Y; w' z0 m2 @/ b
var orgRGB=getRGB(orgColor);
6 C# }8 m- q! b! w
7 X4 D$ f5 n! }3 q: I var parentNode=node.parentNode
6 D+ {8 p. i9 n; ?* c var parentBgColor=this.getobjstyle(parentNode,"background-color");+ O$ C" M/ I. t3 y) h3 T8 w. C( K
) c7 n$ |( z# p5 H6 h5 W& `$ h! o# @" v var isLast=false;
) s+ h% [- H: y: s' C ; _8 ~ p6 ~5 S- M: p; x
while(parentBgColor == "transparent")
# \3 K9 f: x1 A8 x2 Z$ ?4 `% p0 Z/ a { S- w2 n- P) N
/ B7 w( G4 F% x* Q; F& E6 p
: V& m& i; A: R8 n) | if(parentNode.parentNode == null)
7 V4 D3 J5 k* w3 H8 `& z6 E1 Z {8 ?8 z9 b% V2 B% u0 A- J; e
isLast=true;2 ]4 j0 g* H8 r/ l
break;
' _: M# w5 q4 o+ J5 p5 C8 S/ S }( I) h0 z; A! `
parentNode=parentNode.parentNode;! {! l9 n* \- z p7 a
parentBgColor=this.getobjstyle(parentNode,"background-color");
' g% N* H/ k6 _
2 o) `) D( |$ X. D if(parentBgColor != "transparent")
5 |8 U& X- F0 {2 d: E {: ^! @% H/ _+ u' E
break;0 Z5 D; [) V' f) l% h; Y
}
* T% B" `' R0 b3 P9 M0 L7 @% C }) E' n& g$ D' m0 {5 f
if(isLast)
6 g; Y/ N0 [% A {. e) \4 e {. Z% j) C. _
if(debug)) I) Y$ e/ [+ C- {& m# E
{/ B) F0 Z7 f( ~ N) E
alert("last!!");9 Y0 p2 P7 P. r1 l# R0 Z
}& D7 T: }% y) g8 ]8 v
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- i: G2 r" v. b2 X
{. u6 b# X+ F5 v' u0 m
orgNode.parentNode.removeChild(orgNode);
$ `" [) @; y* o0 D$ |: \% @: f9 K$ W }6 T, l5 f- N" Q& y) i
}
; ]; N% M" f) Z# c! q else0 e, S3 X+ G# L2 Q1 J0 [" K3 ~& P
{* j9 C3 j8 t+ F
if(debug)* Q( u7 x5 d! [. ]) k1 E
{
+ S- [+ } D+ O8 Q- Z$ S1 T alert("compare color and parent bgcolor!");. D/ {- c9 Z! F9 W' U+ h
}
$ a$ X! x3 Z- U+ k parentBgRGB=getRGB(parentBgColor);: j& v5 }4 t( j: |3 D
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 G, N* C0 G- y {4 S, a4 w. b4 R+ e$ x
orgNode.parentNode.removeChild(orgNode); * ]# p- q/ S* O4 X+ K4 H
}5 v& E" F0 o# ^
} K6 ]7 h9 E) O5 X# \
}' I! m5 l) U( F/ R3 ~/ B$ b
}
- |6 ]/ a, m3 w2 ~& I }
. I! f0 J5 }* [- M* w3 R }
( \4 n7 `$ I+ m1 I5 J% p
" H- C8 o' [" k9 Z D. @9 O! K
" O$ l3 k; Z ?3 B( ^" q: C var itemFrames = page.getElementsByTagName("frame");
9 p; s: t& E9 @+ U, F2 R var itemiFrames = page.getElementsByTagName("iframe");
2 c0 z" y# _! M$ v
0 d9 N& _# Q W$ w var frame, iframe;3 q- @ P* n( I5 v, L9 \
if (itemFrames.length > 0)5 V, ]" ^/ T/ R( M8 a% ]% O, [
{
% B. u7 X* c; w# i5 H5 z" T for (var i = 0 ; i< itemFrames.length ; i++) " }- S- V2 N5 P* ~" Y: g; T; Y
{, S3 `1 H$ K5 C) n# b* V) v
frame = itemFrames.contentDocument;
! Y) J9 N6 I# i" c/ y7 w this.RemoveHide(frame,objname);
2 s* r( y- }; E( d: c8 M }8 }' {; S' y7 \9 K; \2 Y, J
}1 n7 a+ U0 m' q1 X% E7 Y3 s
if (itemiFrames.length > 0)
" W$ L( F$ `' Q) i {0 D* j5 Q! b6 V4 g" O
for (var i = 0 ; i < itemiFrames.length ; i++)
1 `5 m9 g: ^9 n- x% b {
! h9 i" y: ^% s" f& L iframe = itemiFrames.contentDocument;' _& v6 N* i6 T( x
this.RemoveHide(iframe,objname); 3 Y& u2 e$ O: W/ u: z
}' u. P2 }7 ]1 e" U
}3 U. R) G4 a- @3 S D) I
}
, m/ D. p# `1 M9 B! B2 P catch(e)
+ X$ E2 N8 F* y& w2 C' _6 `+ K+ E- a {
6 ]9 Y3 u6 s" [8 j, x7 \ if(debug)
/ [: h2 k/ a+ f; S* e" F {2 ~# J9 ~- b9 o! ~" g3 w6 b
alert(e.message);
" _$ T% h8 H4 ?; [: { }# n. f# E3 Z& Q+ N: y
}
. l* _$ A2 B9 g0 y, a" g }0 i' g% g2 S0 Z0 L
8 M! k5 {/ y0 G! G3 l! q* h}/ y" r4 R/ E. m+ b+ J, n
; c8 T' p6 ^! O$ t2 Z# B
function getRGB(colorString)7 V; t8 P7 E* i2 F: J
{
; k" T0 o8 l1 O: Q+ o3 c var RGB = new Array;
5 q7 `' ?4 {# ], G% i! e( m3 ]' b var tempSting=colorString.substring(4,colorString.length-1);$ R& g4 D8 b/ ?0 [1 ]6 G
var tempArray=tempSting.split(",");
4 W: E. ^3 F& y, s) `5 a! {# Q! n, h6 ]$ O5 ~2 O, b
RGB[0]=parseInt(tempArray[0]);
( T0 ^7 d" O8 b: l9 y5 N RGB[1]=parseInt(tempArray[1]);. h! W; J8 r& {3 d3 ?; j1 z. ]9 D
RGB[2]=parseInt(tempArray[2]);
6 `0 J& t2 a% K: L" I r. r# e2 m
& Y: y3 a8 B# p& e' ^% M return RGB;$ T. {9 L7 ?. Q( L3 o
}0 h; |7 b# d! |
function keys(evt)
: z" S2 G6 r1 q- p0 f2 s {
9 p+ s2 N9 J8 ?0 A) T* J( b if(evt.ctrlKey && evt.keyCode=="81") 7 {( F( p; A! G
{
5 E8 p! v# w S% u9 V CleanHideObj.on(0,1);
6 j, `* s. u$ p7 v! X* x alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 r# u! H* K$ \ l) ]" m3 L
3 U3 V$ ^8 g7 J( g' b' y
}
4 W7 v7 \' b7 H }
0 W6 W& h, z6 z% V# W: |. Fdocument.addEventListener('keydown', keys, false); " `% O2 r4 O! I- t
GM_registerMenuCommand ('Clean Hide',# _# h5 z$ n! c
function(e){
6 q5 b3 y$ }; q- kCleanHideObj.on(0,1)
9 v1 B/ I. M3 I; s) H1 z! |4 ialert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");* [0 a" T- u8 q! U% d2 y6 l
});" _2 P, g2 X5 F9 p5 ~. N) ]* D
|
评分
-
查看全部评分
|