|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 K: \$ S* n9 }% Z
4 h9 P& _2 ^& n9 s" M& S
火狐插件,用猴子2 D0 p4 \/ e- l) r0 h& k) W. ]% `* }
_% @; l* F) B: @: x' rvar debug=false;
3 P, k. a$ Q w7 \* x4 ?4 V1 Ivar CleanHideObj=new CleanHideClass();( H: L6 \! K7 K3 w
; N8 \$ T4 r9 t k! ^function CleanHideClass() 6 b1 J- i4 i$ o
{
5 m: `2 `4 \) ^/ M2 ]4 M
1 @+ x p' C8 a this.on=function(id,bMZ)" ]$ m. R; }' y/ p
{* G4 e. i8 o9 E7 C+ A7 f. W3 D
! s+ D) y1 y! l. i* w, g
if(id == 0)6 T" H$ G: a% Y$ i/ @! ?: }
{
. k! }; k+ ?+ x/ N3 ?/ \ U var page=/* document.getElementById("content").contentDocument */document; ' o1 P$ ]" l. F
this.RemoveHide(page,"span");
$ j4 D$ G m+ d this.RemoveHide(page,"font");+ `9 }8 L2 i" W2 C" c# V2 e0 k
this.RemoveHide(page,"div");
! Z4 I& I; q* G2 t, ~ this.RemoveHide(page,"p");& H3 A) U2 z# s( B) ~
. c: q3 j; Q' [* \/ Z& W
}
& h. v5 `7 c) J/ n3 a2 J' @8 {
6 b: k) A* e- t |1 U }
T, j+ A2 }- k2 J d T% F this.getobjstyle=function(node,prop)
% d) Y8 p g# O {
( E# k- ~; Z7 T: \3 `0 l try4 g" K, p- P2 m, X- O7 B
{
J% ^0 I& @ o: V; y. j return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 c! y% g3 G8 m7 Q& ^& X* V+ j }
9 l& O3 W% n: k catch(e)
0 H# G: l$ y& ?9 N6 U {
. N2 |2 }6 z* \" y$ a! R' g" E if(debug)
1 L$ r9 ]& y4 H1 C$ {: C9 t {
6 a8 S5 l7 B% d$ z* D4 |1 M# ?: H alert(e.message);% c* y3 d) N! ~0 Z: j0 B' S/ I
}, H/ v y- Y$ Y: S
5 K6 H& Y! F; j5 {- p. ~
return "200";
7 p3 h" t- j- } }. Q7 z8 h, j+ T1 l, U3 [! A, R( ^
}1 ]* j Z) |5 S3 u' X
# _& S; [* [8 I- M& a
this.RemoveHide=function(page,objname)
6 D' T5 E* r; w. h$ n+ \% r0 I1 R {
3 I0 X! C6 d1 L1 ?, b7 O try. N: \& x* p* A3 X% n2 G7 ^
{
+ G1 [# B% w- `" S3 v* B6 M. A var minValue=15;
* p1 c/ G+ k# J& [5 n' f5 j var objs=page.getElementsByTagName(objname);
, f! t J% M" `' e
8 O9 h" n5 K/ j& i+ d% q if(objs.length == 0)
; ~- S/ ?) y, p# z3 \- D* }2 I {
) N$ ?8 A; z2 N1 C5 L0 J if(debug)) \9 U) _: h/ A. t
{& r( n# y9 R* j }* z' J9 k
alert("no object found!:"+objname);- l! i# V$ D2 V* u T. {
}
; r. @) W6 P0 a. A" D }
6 w I) V( q4 l; l$ d else( S6 N1 c* f! g( g8 ?
{$ I0 f. [' a8 h; ^) t% r* x
: w7 f$ H4 {7 q" p
for(var i=objs.length-1;i>=0;i--)
8 _$ F2 n1 D4 y: J" r {4 ~. S' X9 Y" H8 N6 p
var node=objs.item(i);
% v) b. W* [( ~+ \0 t2 m2 @0 m
4 @" M/ L3 f: ~; o, l5 ~, c 1 |. z( j& g3 @, ^$ E
if(this.getobjstyle(node,"display") == "none" ||
( C( w ]& y- I: P. u! c this.getobjstyle(node,"visibility") =="hidden" ||! {3 M3 N1 \6 L* ^; @% @2 M
parseInt(this.getobjstyle(node,"font-size")) == 0) g$ G# w. z( H' a! J* f2 G# ?
{
) o3 U' ?6 [9 N% a6 _ if(debug)
9 I/ X$ W) j- P- C {
9 [8 Y% v, g. x" c) O$ R alert("remove invisiable!");+ o- e& `3 L, j1 K0 g
}7 Y0 n8 o% m, @* t& C6 P9 p% u9 N4 v
node.parentNode.removeChild(node);6 d7 s" {; }: b: f+ f. K
# w5 B; H D% M }7 Y8 H' r$ E% a; q9 A$ j, e
else 6 m$ a$ U1 D* r* C- z4 P
{
/ A- r" N) T8 f& t; k. v if(node.parentNode)
n7 s) J# D2 c& r$ f: h {
) \. s% T+ b! s9 R7 ? var orgNode=node;
* }2 X _1 L) ^4 o var orgColor=this.getobjstyle(orgNode,"color")
9 o1 P. h# c6 K. c& n8 U: G var orgRGB=getRGB(orgColor);
' C: z( f: g. u / k' Q0 D6 X, d4 b8 u- i7 R
var parentNode=node.parentNode( X( ~9 d: v' c/ Q# F1 E1 L. X# r8 A& P: t
var parentBgColor=this.getobjstyle(parentNode,"background-color");& g( I- D5 F3 C% r- C
) h1 P- Y. V1 G var isLast=false;
/ b5 C1 ^" V" k1 Y: s! S
8 x/ `# b4 h4 i while(parentBgColor == "transparent") ( N, A: j7 R0 g( P- u
{1 L" w+ h7 v6 E5 l; n8 K
. C; L& ~# u! p2 P3 P O0 ]- j9 j; x) ^
( B. |9 ?7 Q) _7 F; Z if(parentNode.parentNode == null)3 t% S* [9 i; f& {( P! g
{
7 C3 Q' a" D8 h/ R5 r isLast=true;6 A( m9 ~2 _7 R0 o$ R! F+ V9 T! E
break;8 \ _9 l1 S& v- c1 Z, T8 {! V4 l# b
}' U& g7 n. f: j. f, o1 K" Y
parentNode=parentNode.parentNode;
" Q( u6 b2 A9 h: t6 N% _ parentBgColor=this.getobjstyle(parentNode,"background-color");
5 _ A$ O' Y/ O/ G& u/ [, |" |; `
7 e$ k! W0 S2 m if(parentBgColor != "transparent")
, m2 x1 |+ R/ F {/ e7 G2 L8 O h/ P3 u) t. D0 X
break;# @/ M, D' _2 d/ R& j5 B& ?6 e
}7 l9 Y" @3 X7 q. ]/ J9 p N( r
}# p& u2 x' G' I4 ^1 B2 }
if(isLast) 4 o% y1 W4 a; s2 z- p4 e6 ]; y" C
{, I4 Q1 L4 q" L2 N/ }8 N0 a* P
if(debug)
! @/ Q V) q6 J' D! F: y$ W {. [/ x% Q) u1 S: }1 m% j6 {
alert("last!!");
9 N/ ?* x* j3 Q9 D, ^) c( q }) w8 _! B2 C6 a" Y! J+ [
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% ?7 H. u! T% \ {2 \5 g# Q5 y6 I# e a1 O
orgNode.parentNode.removeChild(orgNode); # D, R" L* v; F. m7 H
}
5 i9 {: `7 u& Y7 w, T0 U }' z# @) s' ]6 i/ F$ s% m# ^ }
else
# p- C0 y1 y0 g! e* X {
n' E2 K" J$ n2 R+ d if(debug): r. A$ }3 C* L
{
; V+ j( V8 s. N8 g& c alert("compare color and parent bgcolor!");
; I* Q" x3 ~: `, g/ d6 ? }
3 @" A4 s$ y- A5 k" x/ _ parentBgRGB=getRGB(parentBgColor);
. b! n" x. T! L/ n2 X- e if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)). |" D/ [% e2 n z+ U+ \
{
& Y9 q, C' o3 L! [- S orgNode.parentNode.removeChild(orgNode); : w9 r% |3 q! V4 Y, z: S% s
}. F; M, Q0 `: F" Z5 P& U
}
4 I4 _( {# Q0 [ J }5 a, v7 a5 F# b. y3 E% u
}
/ q' p: G% v0 o' O }8 z+ B9 D% l/ q. ?! C4 i+ E
}" r: O# ]( g4 a+ J
$ g( u( j) \* c7 E; A* W ' x2 y( Q# v$ x9 ^' w; k% N4 x
var itemFrames = page.getElementsByTagName("frame");% ?" b" r( }; s8 q( ?. c l
var itemiFrames = page.getElementsByTagName("iframe");" M3 I( J# {# ^9 L, }- s
4 u, z! ^9 I8 @# O5 b: `# y
var frame, iframe;
& w6 }! p0 k% d; F: }' H# j if (itemFrames.length > 0)
9 C" q* Y% `* ]* l {; O: T0 _1 W+ z
for (var i = 0 ; i< itemFrames.length ; i++)
$ C, l+ c& g$ f& z {4 f5 E. k( n4 J% Y2 l
frame = itemFrames.contentDocument;
0 w7 y3 `6 I& _. M; s$ M2 H this.RemoveHide(frame,objname); ( u0 Q7 B( H& ]4 C/ Y9 h4 I4 v
}6 _6 V3 T6 s* O4 S4 q4 a7 _
}/ h% d( Z+ U' \4 w
if (itemiFrames.length > 0)
: n$ p/ V. i4 Q$ A {8 y8 s, {* Z# N% `# z$ W5 E) r
for (var i = 0 ; i < itemiFrames.length ; i++)
! X$ g8 t: M$ E) q. i {
- i6 p9 @: i8 s9 N/ J; o9 V3 ? iframe = itemiFrames.contentDocument;' o7 v) `; s* H
this.RemoveHide(iframe,objname); . S/ p0 r3 g1 S+ e7 C5 _
}& v7 v; R' d) v
}
, ^4 w5 K+ V4 a; R6 @ A }4 b/ C2 J' y% @7 V, Y8 B# w' w. Q
catch(e)
6 t3 D8 [4 W1 r, O8 P7 y/ t2 ~ {
& K$ H, K# Y; j4 a4 \2 K1 g# F if(debug)
; [' ?+ c1 j! C" \8 F6 d. o {$ }; y X! {+ L6 i4 I j
alert(e.message);9 Q& K2 @+ e, |" D: d* |- j
}
. V5 h9 u2 a4 U; j7 E4 J5 o. a5 [; I }6 R, [1 M( Z( T
}2 y: K4 A. | `# ]1 p
& g: F& z! \# \
}0 i/ m6 k9 R O4 q
3 J# s0 B, |$ b* @/ C/ Q' P; lfunction getRGB(colorString)
* @) u$ g5 V$ K# J8 }- W- F4 L: H{7 z* x* |+ ?6 T. W! y6 f T
var RGB = new Array;
+ l! o8 Q% e+ X, u: Z; | var tempSting=colorString.substring(4,colorString.length-1);% \( n) p8 u. Q
var tempArray=tempSting.split(",");
( u- q: I# L1 h, a; m2 V! |- J: c# N3 z0 i
RGB[0]=parseInt(tempArray[0]);0 }0 N% {" j+ G* G2 `
RGB[1]=parseInt(tempArray[1]);' O! H- t; n! ^ G* z( w- I
RGB[2]=parseInt(tempArray[2]);6 `2 l6 a4 f3 g' K9 @. n6 V$ r5 D
) {- h0 T9 x) B* r; c
return RGB;! Z, ` J$ z, U/ I/ H v# C
}- d, D% h0 f9 F! @# t( e. c1 t9 P" Z
function keys(evt) % G( A1 t( v8 x' D% \
{
8 H: z4 `5 v4 m O4 S if(evt.ctrlKey && evt.keyCode=="81")
. ]* g% I @9 [# Q, c {
5 I' u: w" a) A# ~ CleanHideObj.on(0,1);
. D2 D7 ]' i* }+ A1 M alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 N l: U5 I! G; z % K( v" s) ]: Q/ I9 G# S, z
}
1 m! P* e9 Y( D n" u }
5 k' b1 r) O8 g- ^6 Xdocument.addEventListener('keydown', keys, false); % L# F, U2 M" I4 Z, S7 s8 O% H
GM_registerMenuCommand ('Clean Hide',
1 l3 e5 T! K1 c- t5 A0 }function(e){
( O/ O# s U" P' |/ ~2 h- eCleanHideObj.on(0,1)
, Q* \7 y+ Q/ h. T o* Kalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");9 I5 X2 A" ]% X8 O( g
});
# T/ e* Z0 V6 E N ~( J3 a |
评分
-
查看全部评分
|