|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 u: ]7 K) p. I. j3 Z7 N/ p
7 p$ L% f; `/ [* B$ N. b, F2 V" ?火狐插件,用猴子
4 ?1 x' A" B1 I7 i T
2 \, S1 r3 x5 fvar debug=false;
4 |5 a$ W; i7 m7 P% Hvar CleanHideObj=new CleanHideClass();7 c. e5 I( Y% R! a# M4 Y2 V
' y6 X3 Y4 h* L) D! Q+ l4 v
function CleanHideClass()
4 A* P7 ~# W3 j# [. S" k! o{
, R. A, @+ q( K+ O9 e1 W
% `# J! \+ ]/ b1 f3 b- p this.on=function(id,bMZ)
7 x# x( T6 z- s. L {" h! s! F% Y- \
" h$ h% g& C% i0 | V0 e6 c
if(id == 0)9 Y3 ^: q* ~5 u2 W/ y
{* {0 @6 t1 `, i
var page=/* document.getElementById("content").contentDocument */document; , A3 l& e& h0 t1 E! _
this.RemoveHide(page,"span");
$ ]6 R" U$ Z7 E* A# ] this.RemoveHide(page,"font");0 t0 T& Q* K; s% u
this.RemoveHide(page,"div");+ e2 {+ o9 ]6 r0 v4 Y0 i: I7 c
this.RemoveHide(page,"p");. _- U* i, ^( Z8 L
) d. b, n1 K0 |" B6 ?. p z }/ f. ?9 Z) n* \: L
9 w) p( w- `6 j% U% x1 \ }
- U' y; f' \7 Q. g5 r this.getobjstyle=function(node,prop)- K$ ?% Z; {% k# e9 F9 I. y
{9 J$ Q9 w4 n, p% L3 s# U
try Q- w; V. C% g* r. ^
{) j+ ~5 _$ P$ v0 R- c
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
& r0 f7 ^$ {: n% p8 s3 n }
, T$ S, E, h7 T1 [ catch(e)1 Z9 \( e$ W7 q# Q) O. ]
{
- j4 M$ n6 p! J g! V5 X if(debug). _: |( a) o8 Z
{
% Y2 p. j! Y+ m Q& a alert(e.message);
2 Z: W5 y- T% Y! x. R3 ^ }, r4 v. N1 I4 B
" ^: [) b# c' n- n- X4 c. e+ v
return "200";
; Q r; U8 H1 ]2 C$ \3 _ }$ w+ _1 d/ E' |1 E1 u
}
4 V6 q$ G5 d5 D4 c5 {( N q x
$ s! h! t# g$ o. k$ k7 n this.RemoveHide=function(page,objname)
% P+ w) L6 ?: ^, x7 l5 E {
0 s4 p i& n1 V& T: a! j8 w try- B4 _$ J, w/ e
{
4 t% e2 v( r! Z( H& c, G var minValue=15;
$ {' I: M V8 c& V$ a var objs=page.getElementsByTagName(objname); ! a0 V2 C8 k4 m+ |
! N! T+ g4 X, v if(objs.length == 0) 0 X* Y b* u7 x$ C, S- x
{+ b1 i3 f/ ~& J- V, Q
if(debug)' f# _* c7 o8 g8 z
{( [7 O" f4 ^& V* Q, U
alert("no object found!:"+objname);
4 m0 ]# o1 g9 J! X* i0 L6 G }; u: Z- D' ^) x, o# a
}4 v- v8 D$ N' d
else
3 M; w5 U2 a! ^! ~ {" A% [8 q' s2 G/ `: J' n) Y2 {
; X' f; D6 y/ n% _ for(var i=objs.length-1;i>=0;i--) ' f1 q3 v7 J6 }1 N
{9 t$ v# Q9 D, v/ J/ _$ d G: X
var node=objs.item(i); 9 Z& I% ~1 d: _ V
0 |* \- ~1 W2 Y8 o5 \6 c
) C& l* f4 I1 B6 ~ if(this.getobjstyle(node,"display") == "none" ||5 m$ L- \+ S C1 X* o
this.getobjstyle(node,"visibility") =="hidden" ||+ y% B. {7 K) F* g
parseInt(this.getobjstyle(node,"font-size")) == 0) - L/ N% G' E: S
{" S' }& z0 k; z, C a2 f
if(debug)5 b8 ^) i$ _' c j
{: v" u J9 u5 g4 @+ ~; l9 t) v
alert("remove invisiable!");6 t& D- K3 J* s% I* C
}
& y+ t$ ]. \5 I" Z: h# O- D node.parentNode.removeChild(node);* e& b: D' a( w7 ]0 n
) N0 N) P7 T. d) L. L4 `
}1 q. t k# P9 K2 v) L; Z2 B9 Q
else
2 q0 I' O7 t5 V6 T5 S {' }/ T& _, ?$ n& I( y- O3 A
if(node.parentNode)
; t& J) R: v- x9 P/ Q {
, x- Z# y9 }) {* l' j3 U: H* F& D var orgNode=node;' _) ^* d+ k3 ?- F; d
var orgColor=this.getobjstyle(orgNode,"color"); T( c) Z* Y, Q9 T, _ R, X
var orgRGB=getRGB(orgColor); " X* e: q/ G* }& ~* e+ q, S
" F5 T# e' z }, S$ F y( m
var parentNode=node.parentNode9 W# u( i' _( c! U# d' W
var parentBgColor=this.getobjstyle(parentNode,"background-color");$ h* w. t9 Q5 T" S
& J9 o4 j5 K+ ~. P var isLast=false;
1 A7 e& i% P$ \, ?, m
2 o1 L3 ^/ i' n6 T! a% r J5 ] while(parentBgColor == "transparent")
3 R6 D# }$ y: X" j {* d# w; X) c a5 x
" k4 f7 _: L2 P' w
# Q' @6 U7 b" U' A: B6 E if(parentNode.parentNode == null)8 [% v( {2 h: N
{
1 x; ]2 {- r+ ~/ D3 _ isLast=true;
/ e* L! q& c1 }( f' D break;
# J. j& S X. O4 v7 ~ }, \/ E3 X0 H, F; j9 w
parentNode=parentNode.parentNode;
, h; U3 z% h) g. \; ? parentBgColor=this.getobjstyle(parentNode,"background-color");
# C, g3 C0 X+ A3 k. \' V3 Z6 j6 J& M
if(parentBgColor != "transparent") 0 h4 u6 f" X) p- ]2 Q
{) b8 ^5 \9 }5 A2 J& ]) {2 d* r
break;( @, Z2 }( ~' M" u
}8 E# w$ {; d3 V. t: B1 M, H8 M
}
. w: W% [( k# s' b if(isLast)
$ @% O1 a5 C6 a1 `9 h {; d$ B- E0 x# a
if(debug)2 W; Q6 ^& r% A$ e# D2 F
{
: {4 o' B: F: B {- ?( n4 W alert("last!!");
: d0 X6 {5 C9 {0 {) J: o }
: P9 C7 Y; b4 i; c% G1 I7 V if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ u* f$ O3 n( I6 u8 j1 W {* x1 X& R2 h& M) B% c4 K
orgNode.parentNode.removeChild(orgNode); / K/ Z) T4 K+ k* S! E/ H0 B8 P9 z
}
% A5 O' C8 c) t: e! I$ `9 U& }0 i }5 _) |) w- y6 @ k: Q: L$ t
else
4 S, a! E) H1 v% x8 k" L4 { {7 G. [( b5 L- S: @& z
if(debug)
6 Y7 `+ k4 w( X* o {
1 D! Y1 M% q" r+ G2 W/ M# x$ f& [ alert("compare color and parent bgcolor!");
* B" e! J m# b6 z6 s6 h2 \# b! S }3 g! d. r# `# t. Q/ }
parentBgRGB=getRGB(parentBgColor);
* B, \+ V( t `2 Y0 {% ] if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))( y. U. c) ?9 U
{
; M5 I# s/ i+ W% K' j orgNode.parentNode.removeChild(orgNode); # J5 J9 ?. b/ D u3 f
}
6 P- s9 h1 g! o }
. ?/ R& u( w/ E( P& l8 c! w/ [ }: E* e/ p3 J3 \
}3 J/ n( o& D4 O; Z1 I; A
}
) x0 k' z' z, j# q- ` }$ A$ R9 y, [: M& G6 ^9 ~: ~' y7 u7 A
3 k% p( V r$ j" J) J0 O( R
9 d u8 w9 L/ E0 ] var itemFrames = page.getElementsByTagName("frame");$ q! P+ `7 ~3 H/ _3 J( H7 {
var itemiFrames = page.getElementsByTagName("iframe");/ _% n U0 n7 l
) o" Q- E D0 J7 F9 S
var frame, iframe;
) m A2 Z# h6 y: `/ h# o" ` if (itemFrames.length > 0)
) f# p5 p% w9 n0 ^, n+ y( J {
0 A) ^ |8 D: j4 h for (var i = 0 ; i< itemFrames.length ; i++) T, ?0 x( f8 D- k
{
5 z3 |, \2 q% D3 a9 ]5 q frame = itemFrames.contentDocument;
4 n+ K5 j4 ~ F this.RemoveHide(frame,objname);
* {$ r- C0 o7 N }
7 s5 v) X6 X2 G0 ]5 f) O5 X. ? }' ~2 ? _0 o8 e' B
if (itemiFrames.length > 0)
, P$ C, m* c; L6 q1 _. h {
6 _' [1 k- K, U2 y8 U* d5 w! E for (var i = 0 ; i < itemiFrames.length ; i++)
5 f/ T' ?. R/ h {5 b5 [# I! o0 P3 h0 O! F
iframe = itemiFrames.contentDocument;9 B( j/ g* i1 f9 G6 x
this.RemoveHide(iframe,objname);
& ^* O, p# v) M% }. Q) ] }2 v @* \1 |& k- ^6 H. H
}
, P1 }) F2 ^+ A }
7 L3 S, l5 P! V' P c3 _ catch(e)8 Z T. n" {. J, k
{7 c8 l& \2 p' u) K% D
if(debug)
) G5 K7 w t# |& b6 F; Z {" D K/ C+ y$ h# j3 ~, J: ]7 z& R
alert(e.message);+ r) A' x7 B ?% G, d
}
2 x6 t8 {* A& Y: P3 k5 i }- {4 i0 Y$ L( M# F: e$ Y
}. p5 e M! T0 y0 \5 y: ^ h; k
# g! q3 _5 `) g. g
}7 s/ f2 F+ U R
% _& P1 O+ n; J A1 B$ c
function getRGB(colorString)
; n. h Z$ G1 ]% [2 z{
: T" r3 B1 k$ [$ f2 I var RGB = new Array;
9 l6 t' X% O1 Y8 S9 E$ g3 ~ var tempSting=colorString.substring(4,colorString.length-1);
1 [4 ]2 x( h% j0 c var tempArray=tempSting.split(",");* F$ r9 U# J% |
# b3 I; `, @ G% `
RGB[0]=parseInt(tempArray[0]);5 m; o; z7 L3 j- O* B6 F
RGB[1]=parseInt(tempArray[1]);9 T5 r" V; j& y) d
RGB[2]=parseInt(tempArray[2]);& ^( j, o3 b* P1 }; w4 M( V. P
% A, S( Z7 f0 H
return RGB;# |! `5 `, q# v7 G' d( r
}3 ^ X) N# M' E
function keys(evt)
9 {0 j: ~4 w4 q! M& G3 i3 i2 L { 8 C/ X2 d" p- ~6 a# Y0 s8 Q& d
if(evt.ctrlKey && evt.keyCode=="81")
$ k( [' ?3 N/ ]; Y h/ f: u {
& q& l1 N; p Y3 A0 ?& W2 D! { CleanHideObj.on(0,1);
2 ^6 g# D2 r/ b0 e& n J9 R alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ H& O" j+ h$ @: ]0 J5 _: a
5 a+ c9 x% [$ ]9 d2 {& z7 Y' \ }
5 e& V. A$ w6 v! b" W" ~ } - w4 H1 ^- w& T0 k
document.addEventListener('keydown', keys, false);
S2 y( `( [5 S7 g) e+ B; eGM_registerMenuCommand ('Clean Hide',; R g; m7 a) @
function(e){
1 C2 c1 |6 }0 z7 J# S+ ICleanHideObj.on(0,1)
- ~% g8 G" _3 q, oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( s& }5 q# C' ]& F
});
* ?, W- J: q% t( @* {9 N$ g" x3 O |
评分
-
查看全部评分
|