|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; ]: S! ^' I0 j4 v9 J. o
+ x9 ~$ ^/ Y7 u: M1 r
火狐插件,用猴子
. O" c$ _7 m4 \" X! p/ V0 d6 A4 l; M8 J6 ^+ a
var debug=false;
- B& m$ S% |/ _ Zvar CleanHideObj=new CleanHideClass();
5 k+ g' Y+ i3 w- s# h5 }
- `& P% P+ J$ u% X& z! |function CleanHideClass()
8 u/ f8 E1 _* Z! H1 O& A3 r8 T, a" `{ ( [) |5 t, N9 k/ ]
& V9 `3 v* N- H: u. [- Z! ]3 A this.on=function(id,bMZ)5 ?3 s' `: r7 t7 ^6 `/ m4 A
{
. P! O3 J p, V
$ T( P; T. H4 B+ k- b3 n3 d5 R if(id == 0)! b9 |3 Q& K; ^1 f
{8 a/ [$ p$ k' p3 F0 h
var page=/* document.getElementById("content").contentDocument */document;
8 |& H) V3 M+ e! P9 |8 y* H/ s this.RemoveHide(page,"span");& @0 p4 S1 a- F. W5 s; e, H
this.RemoveHide(page,"font");
* R- p. c! ]8 e* i this.RemoveHide(page,"div");
0 a1 f4 _1 o, u8 x this.RemoveHide(page,"p");% M0 X! }+ P! a& a. _% y, Z- |
5 Y# x1 ]: P) A& } }+ }+ l8 p# A; p$ B2 G, E
H4 [9 E$ H+ ~: G! Q' d
}
! r, Q1 A1 ~: s! X0 j$ e4 B2 t! Y this.getobjstyle=function(node,prop)3 d' A+ R9 K/ \% W8 s P1 I- ^9 A
{
) b, A. _8 n& R0 s try9 U1 f2 } ]0 O0 l
{
9 Y) |3 j! E0 a return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 j5 `8 i! U4 }- j, G- k8 Z }8 l! j. K8 W- a1 a
catch(e)
, C. X; p, J8 ^8 s) {3 [3 P7 t {5 |. \8 M. Z; ~" U+ A1 w- i; e
if(debug)
- r2 X0 z8 {& F4 Y/ I2 Q9 ^& h {
, a; y* T& X v1 Q; j! Z' E alert(e.message);
2 L, P7 B2 d( x+ v3 Y1 Z }
: E# j( l6 u5 Y" N: g) s/ Y 2 d0 a+ ^" C0 R- x% w( J
return "200";3 C) L1 n- C% _+ G5 w
}
Z$ @9 L+ m* s, v# I0 w9 u }4 ~0 A$ ]* C: B7 e
$ O1 @9 h* Q* E. ` this.RemoveHide=function(page,objname)
1 t! T. t/ }( n6 C/ M {0 Y# V3 E/ V9 u& I. u' e; M
try
- e v# s% ?. d+ ?0 b {
. F- [( i. B, \. b! p var minValue=15;
1 x& o8 u Y/ P& C3 ^. X! e# T var objs=page.getElementsByTagName(objname); 6 E9 Z- A) z, I5 z' ^9 C
! c$ |2 Z" U/ B2 @
if(objs.length == 0) : S. w. z9 W ~" n
{
1 y& u% G$ [+ V if(debug)
0 M6 L( A& h+ c {
$ v4 {* _" W7 `; k$ @: r8 F alert("no object found!:"+objname);4 r2 U2 v) u: P7 W" a
}6 `) W: _. b2 z# [9 U* R9 z
}1 \. y5 p# j" g6 n
else4 I& D: [2 a& n& F) @, {0 J' y
{
, }1 \" s" b! \ 5 a; `1 Y; `" U4 R. ^
for(var i=objs.length-1;i>=0;i--)
& B2 r( X$ S( S {$ d& r1 d$ N# a
var node=objs.item(i);
( }" h1 U# r: `. i* i0 b) Q, Z 0 @; k' ?5 h$ F, h
1 d B {2 \+ M- B8 @! b if(this.getobjstyle(node,"display") == "none" ||' K6 j) F; t0 Q% e
this.getobjstyle(node,"visibility") =="hidden" ||
) J. s$ E2 Q8 Z parseInt(this.getobjstyle(node,"font-size")) == 0)
+ x# V! J, P* Y" b& N {' x# v! |/ n: V8 a; j! t# ]
if(debug)
* p" J! |0 e1 Y% @; p3 b {2 I1 w# ^8 ], d# N( q
alert("remove invisiable!");' E1 E8 |/ D+ n. ^- ^+ V
}* ~+ P R# g! q7 G. R
node.parentNode.removeChild(node);
! b6 B6 i3 X0 M3 H0 Y& G& m; W ' T* J/ ^! T' r5 L3 k1 z) `
}4 ]6 K) G- q( n7 U& K% h
else
( E. g6 ?" k5 T- J. ?1 Y {
1 N* p( z- O& v7 A" q% K/ ~ if(node.parentNode)
. U( J; g9 b& E& X6 U8 L {* j. {: p: S$ O! x& Y
var orgNode=node;9 c5 I2 Y+ C: h8 z
var orgColor=this.getobjstyle(orgNode,"color")9 t/ g( z3 X% Y" p. S
var orgRGB=getRGB(orgColor);
3 X7 b4 T- V" X/ @+ x
9 D5 [" V5 ? ` var parentNode=node.parentNode0 V$ H8 D+ D4 X5 }. n- x
var parentBgColor=this.getobjstyle(parentNode,"background-color");/ a6 K9 \ |/ p) G: Z2 S# T
. p- R/ |( I' _
var isLast=false;. W, j i9 o1 l% K1 w3 Q
+ W* z! c" s* B3 V+ R" N5 e8 U* G5 ?
while(parentBgColor == "transparent") 2 B; k8 o) b& q# A2 h
{
: X6 a. K; W" u6 O* Z$ C ; q+ W7 n& C7 H# N" N4 z
& H4 W2 ~1 A* @' J$ g9 A/ F' [9 `
if(parentNode.parentNode == null)
+ K' G' F% W* \$ J1 X {
* @, @" D( T5 w4 g$ X: T0 I isLast=true;
# I6 o" M# N$ X7 D break;% C0 `$ R% Z! m' Q% }& w
}; P& l0 z! o+ Y
parentNode=parentNode.parentNode;1 h, B" r3 X2 u0 N. d1 T5 }
parentBgColor=this.getobjstyle(parentNode,"background-color");
% r6 s6 W' V Q! D$ V* ]9 F x9 \- ^* N9 k5 G$ B
if(parentBgColor != "transparent")
. k2 R# k( i" a1 O {3 b8 v W, f) L: C6 w
break;
; Q: U; |& }2 h8 }4 H' R }
/ U% T1 ?7 d& a }
* i& n) M6 T( Y2 V, n if(isLast) $ C3 q5 O0 D: O
{
& g- ?% [* z- i. n" m9 j6 A if(debug)
- N6 |9 J' \% Z1 q/ _. r {
8 v |& N9 q! }+ {2 e alert("last!!");
+ a' ?; m! F0 c- \ }
; K W% f( T$ f+ {7 D( r- [ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( t% b3 ~% [0 T" Q" m) r5 I: P {
i3 D! s/ M, [0 ~& h orgNode.parentNode.removeChild(orgNode);
4 n$ @3 Y$ T" B- O6 ? }" N3 D8 s4 ^, M5 s( o
}
( z3 [3 ~% f. b8 p else) c7 ?. ~9 s4 l
{
+ Y$ E" ]0 q8 k( \! j if(debug)
* ?7 ]/ X& g) m" x8 m2 F( R! F5 }' ? {- Q$ u- N2 _/ q- ^ q+ m: h& j
alert("compare color and parent bgcolor!");
7 [# ]1 t6 U6 _# t# b& b }
+ }$ Y& d3 Y1 ~7 ] parentBgRGB=getRGB(parentBgColor);% f# l& x+ n% Z1 M* r: B
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- T7 i% U. ]9 H0 m# s3 r {) ~3 k; j4 j* w) Z( U
orgNode.parentNode.removeChild(orgNode); 9 q; q, F% \! |6 A
}
8 ~ [2 \2 L" Y" U4 F }3 {2 i4 k: v' l! B3 t
}
. e% ^* w* X( x0 v& }: [ }, E0 b0 N+ b) X
}
- F3 j* C8 @5 C0 B. M9 M }
{2 U# [+ x1 w& m1 E, f
+ l! z( w+ q# S* u0 H# f , ^7 S; B' E9 l# \- l
var itemFrames = page.getElementsByTagName("frame");
! d; [- U( C6 [ var itemiFrames = page.getElementsByTagName("iframe");
) I$ j: r3 X6 K
2 p" h. m3 U5 Q. y9 D var frame, iframe;
$ p$ h0 t3 H3 c4 m* x; `' ]* A% u5 b if (itemFrames.length > 0)
: j: W8 h: X6 W+ [ {4 Z$ {/ O7 N: c: [1 @6 O
for (var i = 0 ; i< itemFrames.length ; i++)
6 G! ]/ ^* N3 D/ `7 ?6 y# x( e5 p {
+ Q$ B; ~, V* _/ d& P8 _ frame = itemFrames.contentDocument;( O% `" E* F1 H q7 m; N
this.RemoveHide(frame,objname); z% M [0 P* ~+ f: S1 `
}
8 d* l1 M1 s% t6 ^' C, Q }
2 Y) J0 p( E2 m7 m if (itemiFrames.length > 0)1 k- L7 \3 d1 n/ n' z7 o6 U: j( n
{
! b8 b5 s1 j9 u, W8 [9 l/ w( F! Q" u for (var i = 0 ; i < itemiFrames.length ; i++)
; n7 u8 i$ W- u4 o' l, }; I+ d {
: b1 J. _, y# ?( E- I7 j" ` iframe = itemiFrames.contentDocument;6 ~! a6 ]0 ^. W1 h" P% Q6 V) f; `
this.RemoveHide(iframe,objname);
! w% @% [2 @$ F. p }
. k/ z4 h: Z6 b7 r) g5 ]4 | }
- [/ M' k) Q T1 F }8 T u0 M* e- _
catch(e): _/ e; c4 z4 K2 F- H. b) l
{ c" f# I. d$ X3 W, H4 f
if(debug)! ^4 p" H+ E) ^$ W; V2 q% }& y
{4 u* U7 O" ~+ E; h
alert(e.message);
1 t6 G# H9 D7 l p. E }% Y8 E' e3 _8 L3 }6 N# i: D6 V0 [
}0 e, S7 O! y' `* i$ R
}
5 T2 v, x! ? e5 o. k
% |! C6 O: M( F4 o9 t* _}6 J& c6 C6 c' F. T* @
8 Y9 t3 `# G+ y' ^7 K' D
function getRGB(colorString)
, L% G2 H" D6 N' W3 o! u{
, P8 y- o$ t7 d var RGB = new Array;" \' \% M% Q" o3 H9 a' X/ r. }% L
var tempSting=colorString.substring(4,colorString.length-1);
5 o0 `& t, T) x, Y' d6 H2 \/ E, L- b var tempArray=tempSting.split(",");
# v) {+ d# V. @+ K6 P. u% P6 ?% y, C/ _, {
RGB[0]=parseInt(tempArray[0]);
: \. `% }* x9 X, C. F: w/ u RGB[1]=parseInt(tempArray[1]);1 t- x0 [7 i: T4 F4 s7 s; m
RGB[2]=parseInt(tempArray[2]);) k" [3 e7 F" ~; R! I4 E' J+ i
% X) b3 E" ?( y% O9 {- m$ O
return RGB;
$ s. Y1 k8 s4 }1 @2 S}
: S) ?3 @: @/ T4 |9 G: D& J( E; x6 h) Bfunction keys(evt)
0 R+ q9 `) o2 E2 d& d0 F5 z { 5 {* M0 ^0 O& G" f9 }" a# r
if(evt.ctrlKey && evt.keyCode=="81")
1 k# O: ?- o3 S' U% ~, V {
4 F) j0 u% K* N* W, y; O CleanHideObj.on(0,1);
" G) j% `: e9 I, v8 z' x: N alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 o. B6 u/ @3 O$ D- A9 ]
3 o+ X: P* R% E8 w# W9 r( O# m! ~% j
}
; W. O2 P8 c7 B/ M6 ]0 I } " m3 } p( R( I# J9 q; ~& c
document.addEventListener('keydown', keys, false);
9 V* i2 h, G, M+ }GM_registerMenuCommand ('Clean Hide',
- _) }' ]- w7 W# t3 qfunction(e){
0 W6 |' ?" P2 u& ?. |CleanHideObj.on(0,1)2 L) i& W" w9 `# C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- Q) k8 ~+ p$ f5 b6 q% E$ b& s) S
});& b( N- g6 Y( a t
|
评分
-
查看全部评分
|