|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 Y, _: G5 ^ B9 m2 }9 b! w4 o6 p1 N% n+ ?2 I: C6 j4 t$ y- Z/ q2 Q; o* l
火狐插件,用猴子3 I0 P( v/ l" P0 F: @/ T* _3 A
7 O1 m# L" a' z
var debug=false;
2 m5 G9 B, J* a5 L! ovar CleanHideObj=new CleanHideClass();
* p' a2 {0 j3 f9 |2 W" @+ B5 d4 ~* `) n) M1 m n" m1 b$ [
function CleanHideClass() ! ]; o" N( |% x# b5 ?& J
{ 7 `2 m3 l8 Q6 Y A* W$ @
3 s5 r- t/ j3 W) W this.on=function(id,bMZ)
( q2 ~6 e6 O5 ^$ Q' [ {
! D1 F' K& D! P+ j* ~* K* B
) e; {( F0 q* v; q; ~2 A if(id == 0)
, [$ K2 a- K" B* ~" V {
. i3 W' m; i# K. r var page=/* document.getElementById("content").contentDocument */document; % _1 O/ j5 a$ z& y, f" h4 f. q
this.RemoveHide(page,"span");
+ f$ J L# j5 ]. J. A, x2 s/ b# f* `) g this.RemoveHide(page,"font");( ]4 Q- v$ Z2 c6 X5 w L
this.RemoveHide(page,"div");9 c3 J6 n7 s) K% y, D! O( k4 V
this.RemoveHide(page,"p");2 S$ G( v b, w M; l
: L/ g3 Y( w: ~* ~* T }
/ F4 [$ D0 y9 U9 v# {& C% i/ M n" R
! }0 r0 i* t, y& O. P. { }
4 M; C9 B( n, e this.getobjstyle=function(node,prop)
. C, [( h- h4 r# H, c {4 e- o: J% D3 O Z4 l+ F
try0 r1 b5 D. R8 v1 t* U
{9 H) j5 g$ X" f3 d3 b _3 S
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ V3 P. ]4 f: a" W }; q9 W+ U! A3 p+ j% O) d
catch(e)
) ?5 I- d8 ^, I$ } {
% a; U% i' l5 \1 ?8 W# [ if(debug)
3 C/ j8 @. m [: O% e6 D- [9 } {
- ~ {$ m5 N+ {/ f3 F alert(e.message);1 m% }! }4 u0 ?7 v5 w |5 C! S4 ~
}
# v" [! ~; X9 ]' U
$ y0 P+ j7 `' M1 U return "200";3 @8 w1 v8 Q" H6 u0 `: p" Q2 d; f4 r
}: Q" w- T K: Y4 u- w8 c) l
}' u; R7 E! ?" U. i, L
# o/ `) G0 f7 {& Q
this.RemoveHide=function(page,objname)
$ h1 L( t6 i' j, i {
7 ?1 Z7 | ~1 s$ Q) }) e1 m try
2 X$ m6 E$ a7 ^. ~( z {
+ c& s9 ^$ i/ F; K/ X o5 o- m var minValue=15;
( n. j; H z8 l- P! n( ^ var objs=page.getElementsByTagName(objname);
; j! }. h1 { w3 C
# o0 C- D. Y1 e% d if(objs.length == 0) 3 r$ N( s. |+ j( u: U9 P# i
{& ^' A( ~5 K( y; B
if(debug)/ y* `0 S3 J$ W0 j" k' s
{0 H, b5 X: j$ S7 ^" w4 S
alert("no object found!:"+objname);
7 ]7 w; b/ N- X! [# @! I$ d }
+ I- J l6 g8 H6 u/ P0 O }
# G8 k. o% s, A$ F else
) Q6 Z9 o. x; n$ W, \ {
: ~" C8 U( a0 |2 E5 G6 a/ U
/ ]( h; _# ?4 {. B. N$ i- b& c, e for(var i=objs.length-1;i>=0;i--) 5 s0 V! G' c9 C2 B0 b
{
. J2 F9 D) |: a1 O' w var node=objs.item(i); ' p* u- Y4 P) F; r
( I( e, o* W0 N4 ~
+ k# Z! T7 M/ `% R
if(this.getobjstyle(node,"display") == "none" ||
% q( ]7 X8 F/ e+ K' F this.getobjstyle(node,"visibility") =="hidden" ||
/ m2 g5 ^7 b9 o- U. v j# C parseInt(this.getobjstyle(node,"font-size")) == 0) & j( [0 H8 ~1 ]' e4 U
{
8 |" e; A6 d" a6 V if(debug)* W3 _4 V" J% w( F
{; e/ x( N% `: Z- Z
alert("remove invisiable!");
0 _" ?& _/ @. \4 ?- b5 `* k }
# d8 u+ N& Z$ J0 t node.parentNode.removeChild(node);
& J2 C# V% |; u% }; [2 d
$ ^7 ^' Z9 ?$ _% r }# D) m4 ^1 s* i5 P: f4 o, O
else ! [! D3 Z" ~! h4 ?) B, K
{
$ O* a, I2 S) o& M if(node.parentNode)
: C" p% v( c5 ]0 V0 V2 a$ i {6 J7 T- Q; `6 {) u& N
var orgNode=node;
7 [" [* l" C# b5 M. P6 E( m$ S var orgColor=this.getobjstyle(orgNode,"color")
3 ]0 H, X" E; |! e- C0 Y+ t! L var orgRGB=getRGB(orgColor);
( f4 i3 t% {1 _, j8 x' N) e
' I5 j5 R7 A9 ` var parentNode=node.parentNode, |- l0 C5 c& j/ v' b5 m1 Z1 A( O
var parentBgColor=this.getobjstyle(parentNode,"background-color");0 w, p$ }+ z5 R+ U' y& |
5 C& L$ h; x3 [ var isLast=false; d6 g) F0 q( c! ]1 _. B( L% s4 G
& p6 B4 F3 c% [* z+ \& e* O while(parentBgColor == "transparent") - \8 v& {( c7 f4 B9 o
{3 m9 j; \, v8 A4 o" z. x% q+ P
) o w, x' I/ m1 s* e6 x# m( G! Z. D4 r
( Q6 Y. \) v4 Q; n% _. \6 O if(parentNode.parentNode == null)6 k5 _2 ^" q" g+ V
{
$ t/ u9 f! [, m8 i isLast=true;3 P! H4 d9 s" X# s; \2 C( j
break;3 L4 b5 }. ]4 |$ _
}! P) I3 V* H( q- p
parentNode=parentNode.parentNode;( X4 h: L) J( O" I: U8 L: Q$ S1 f
parentBgColor=this.getobjstyle(parentNode,"background-color"); W2 {0 \2 A+ s/ @
/ d \; \: k0 X1 G# x/ O, p
if(parentBgColor != "transparent")
5 L/ Q0 _) p+ r7 A* ~0 _( k { `$ j( L$ R2 c
break;
; H5 J8 m ^. Q$ X* ~ }# D( a% v1 t+ t4 a
}: k: i1 v& K7 `* `0 ~2 J) K5 o% O
if(isLast)
" K7 i+ f0 k( V- Q) c4 h {/ ^ g5 c4 _; H
if(debug)
+ C* o9 l3 Y" f. p( _% B {! y/ i; Z# c4 g
alert("last!!");) r0 c5 |# t* t% E8 C6 w
}% Q( u6 y, B' R- v7 Q. v, Y0 {
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 k% V; ~; @3 ?& |
{
6 T: ^1 P2 o) c3 |. g orgNode.parentNode.removeChild(orgNode); # j6 D2 [! Q' s, n: c# Y
}; ?0 d( K( L& z
}
' z/ q" P/ u% G. M2 R6 [3 Z% n else
% a$ l5 v: E% w1 b) [ {5 f$ K, u E E2 M( f4 h* Y
if(debug)6 K; d% [ ]& K9 N
{
# S* S& |% m w( U o. ? alert("compare color and parent bgcolor!");9 o! \5 O. {3 W* L" w4 k
}! ]5 p R3 m, E
parentBgRGB=getRGB(parentBgColor);. ?3 i/ H; ~, M7 L
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 q% R" J; ` p' s* r) n
{# ~0 x+ }/ Q' F, P
orgNode.parentNode.removeChild(orgNode); $ @6 f; k$ T( I0 a( { S" X
}; [8 a' n( S/ |0 {4 j
}
( q6 @5 H1 \ q" n- M }' N4 g( ?' t) f# @9 u0 O
}3 K4 k$ o2 a9 g( I. R/ g
}
8 J$ L" y8 Y' x6 y, }0 R2 P }# R% _4 R. I2 A- E# [
! h5 d! h0 u; N1 s& b 5 G1 O- z/ }- ?, [8 X1 w* {
var itemFrames = page.getElementsByTagName("frame");& B E4 [/ E& G- Z0 x0 R: a7 O
var itemiFrames = page.getElementsByTagName("iframe");
8 o2 ]# y' E( `( X1 d2 U 4 a' v. V$ b: b* \4 e: s
var frame, iframe;
( Z$ F* U/ ]3 c5 U1 j$ m" p A if (itemFrames.length > 0)
; h1 ~5 M0 v7 X7 t {. O$ ?' Y# O7 k( g& k6 x8 u% `
for (var i = 0 ; i< itemFrames.length ; i++)
! q4 Y/ z$ X; J8 | { f2 { ^) ]$ P' I8 o
frame = itemFrames.contentDocument;
6 Y3 B5 |6 C; F' k8 {% I2 _ this.RemoveHide(frame,objname); , K8 J2 d# S, l* { R
}
0 Q- b/ y2 ?' R2 |$ a1 c3 W }0 k% }+ T) F* t5 O1 G
if (itemiFrames.length > 0)8 Z. X6 |. m9 A$ z& g6 s
{9 U' \0 K+ K& h6 X% N& j, `, ]
for (var i = 0 ; i < itemiFrames.length ; i++) : ~2 J6 n. ?3 _4 j' Q# b
{ j9 U5 T) y5 r
iframe = itemiFrames.contentDocument;: {) Y% N4 F; w/ R+ f, U
this.RemoveHide(iframe,objname); . c: `: \( {4 I
}) W1 O5 t: x" L2 e6 U( V
}$ U( i U* ]9 X9 R
}5 Z8 z9 m; n3 g+ {4 N
catch(e)
) l% X9 P! l [ {! d# t! C" u, P2 L3 J2 Z
if(debug)8 E |9 B9 e9 E! ?2 ~
{
+ X5 \, c# ~1 j0 r5 j; ~/ W1 z7 Y alert(e.message);& t& y7 v% |- p) a0 v6 W+ J9 ~: B
}/ o( t! E4 ^% J: I- t8 B8 P
}
; l6 d+ k- I1 w+ c. d/ r }! b% r" l+ a3 S& ~& t2 Q
& C$ B1 k8 I$ [5 R3 F+ C9 n
}
8 R/ B! j0 s0 D3 D* ~* S" ^, j- \" p9 e8 a3 F) y2 d* ^
function getRGB(colorString)
9 `5 K8 O: J1 K- K ~& N{
: `' H5 k% U! y4 o) w, a2 K var RGB = new Array;
$ L3 E7 j6 Q. J3 ~' L# { B var tempSting=colorString.substring(4,colorString.length-1);; N- W4 A6 D9 @+ |7 l
var tempArray=tempSting.split(",");
y: U9 a' z }3 R8 y
( s6 o( u6 L, G7 M0 Q+ S" H RGB[0]=parseInt(tempArray[0]);+ V4 L1 h% F5 ~% n* g5 L, S# d
RGB[1]=parseInt(tempArray[1]);
* O1 W' ]+ F* d4 \& p4 Q0 k RGB[2]=parseInt(tempArray[2]);; r p9 g7 V1 W! Y- h& z5 \2 `' W$ {: T
3 b" m- i- q' n' I' c D return RGB;% I0 c- `2 A& z, s K0 e0 I
}
7 ]( N1 i: R; Z- }& A# gfunction keys(evt)
5 X$ {. g, f) d { 5 K p4 u: C5 A0 i) t8 s
if(evt.ctrlKey && evt.keyCode=="81")
* M6 F- o- M& _/ y {
: Z ^! a/ V( i* p9 m$ D# g CleanHideObj.on(0,1);, v4 Z! \. |0 {+ F- t( {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 d: p8 e( y7 U( d* d' A$ b6 ]
2 R$ o( d, b+ \( H5 Z$ ~
} : [7 Q1 T8 v8 p6 z, G
} & S5 W$ Q; X% |# x5 e
document.addEventListener('keydown', keys, false);
5 ]4 T8 |. w9 I# b; Y7 K# [GM_registerMenuCommand ('Clean Hide',4 E0 y) v8 }- n$ q. C X
function(e){, h# I$ D# I, t! l+ Q* H
CleanHideObj.on(0,1)
+ l( ]' R& g' d' | {alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. s) w: e4 l( `" |/ }, {# _" C});7 v+ k( F* Y" Q/ R- m
|
评分
-
查看全部评分
|