|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& g$ s& r) F! S9 l! {6 d
$ h( S* O2 S/ N' y" X9 M9 n火狐插件,用猴子1 Z1 P( l5 I' y& ~
- _$ ~& @0 [8 N2 S8 J5 ? r! Cvar debug=false; , d9 W6 @8 {% e: p& m/ C, \
var CleanHideObj=new CleanHideClass();+ L1 ?4 [- ^5 @5 n
' y' v# v9 U/ T3 y, F* Ifunction CleanHideClass() + n' e- J% |/ O5 Z4 ^
{
- F3 Z& Y3 A" ^* w' ]1 N + }$ o5 v- O0 R. j( c( Q
this.on=function(id,bMZ)
: K& z* m- ^4 A3 a+ N. L+ s {
! p, I3 Y5 B- K0 f* M; k# N" y; g+ U1 G 7 u. ~- E$ G% a' d6 D
if(id == 0)
0 d6 [1 H6 ~% f+ M+ B {
( P. \" D5 {1 ]% @% _% R$ n# a var page=/* document.getElementById("content").contentDocument */document;
6 z3 C' X" z$ W) M& P this.RemoveHide(page,"span");* b( k1 r8 U9 ]
this.RemoveHide(page,"font");
# a: @0 ~0 e6 B y this.RemoveHide(page,"div");
4 l" H4 b3 C$ J: O* B5 `; o this.RemoveHide(page,"p");
. a: e$ s2 ~, H# J4 K0 H+ k, ? ( n6 J5 ^% [' } e# }! y* A7 V' N( O
}( Y9 L/ e- o+ M2 J% o. }
; [$ d' ^( X! ~- ]" d
}
9 o. Q4 e" `: Z9 q/ G4 U: P this.getobjstyle=function(node,prop); G- b! ~3 h6 ^! C* }6 S8 v
{9 `. P! b" f9 ~3 U" n" y
try) p" D* J$ ]3 L! V
{
\4 m. Y9 D+ S T. k, Y* `! b9 b return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);4 J I! d( J! u( T! ~% a% Z) }
}( X) b* C/ ]/ L5 d6 f' x
catch(e)
) _3 l# `3 w* T {
9 t" w! [* R: B% @# I if(debug)
& e& Z" F5 v6 q8 h% o' O {$ O3 _2 f* U% z; r
alert(e.message);
* I# z" d% `0 C; w0 s6 Y) Z F; I7 C }5 N- Z4 n6 j4 N; E8 ]! {
- f3 Z! Z6 L- G return "200";1 m% C8 A' @; @ [: z1 k
}
l; e$ e4 C! u$ Z5 _8 L }
) m6 Z) n' _+ c) @9 h
, W7 `/ `- u; L S) w- c7 J this.RemoveHide=function(page,objname)3 R: S/ H) X/ k U
{
$ ^2 h0 K6 p2 T3 D/ \5 @ try
1 @" M! W1 \0 s {3 B% D! f5 c5 [7 m6 T1 e
var minValue=15;5 b) F) N/ @+ P
var objs=page.getElementsByTagName(objname); 9 ?' H9 Y, X( \. l3 {) l% w
$ F7 i s) Z, K* m if(objs.length == 0)
G( m2 Y) [+ l+ ~- I/ C {
4 G; _' _* J* o. L& j6 ?7 d8 [3 D if(debug)
3 u% ^9 C' `3 n0 d {0 N1 a I/ o7 ]
alert("no object found!:"+objname);
" q V T0 f( `* s) b7 H9 a& E1 i( O }
* a# [/ ]$ o- Z. P! V3 y6 Z) E/ L }2 C# J3 [9 n7 @3 w" V+ E
else
& [+ B( j# s0 S6 j% O1 P {7 l% ]& x. u' L) w4 x* K- ?
9 J( }9 p0 K$ x) {2 a2 d; [
for(var i=objs.length-1;i>=0;i--) & o+ a- \/ w& O% ], A/ d
{
- W1 }$ T! q# b6 X# T" K- L0 j( L var node=objs.item(i); 3 r( B) [7 r1 v2 J: f
6 S/ D6 X. h' N" D& j5 O$ j 1 u1 D) j3 B9 e( X7 }3 X! N/ x
if(this.getobjstyle(node,"display") == "none" ||/ W6 D s' i0 j! F
this.getobjstyle(node,"visibility") =="hidden" ||
6 {& i( n u: L, C1 z) G0 J parseInt(this.getobjstyle(node,"font-size")) == 0)
/ _, u5 J" Q& j0 X2 r0 n8 u {
, u0 |& c* U5 _3 s( R if(debug)
6 d2 W/ l& G$ ^: c3 n/ Z$ A {) r9 t/ W) D" d# Z& @# p8 [
alert("remove invisiable!");8 X8 M8 E! k4 {$ R) G) Y! `7 Z: Z
}
- r J# d% t+ T! H node.parentNode.removeChild(node);6 R) X- N: Q- E' y7 k% S
' [( O. B7 T( l2 Y2 q }
% m5 f8 E M5 l: v9 j+ J else + o; Q: H! s: N/ D" l) K# X2 ~+ s
{7 M8 g; N& v) x" s( p
if(node.parentNode) + f7 Y( v2 G. I' c
{
' ]" \/ r% m M# L. C var orgNode=node;
4 n) f# @% _, K8 s var orgColor=this.getobjstyle(orgNode,"color")
% g% ~' @) H) y9 E var orgRGB=getRGB(orgColor);
8 T+ a( S% A' u R 0 ~( Q& E: O0 j$ q* \
var parentNode=node.parentNode/ w; m6 j, u1 H# u# o. h8 T/ s
var parentBgColor=this.getobjstyle(parentNode,"background-color");
; R) o! ?7 H1 ?6 C! d
( b/ }! m& D* ~. e8 B l var isLast=false;
8 A* R# o7 j _" ]
; I! C: @6 x- I1 l w while(parentBgColor == "transparent")
9 c: X2 v+ D2 X6 v7 _2 j: A {
: F4 e6 m2 Y. W2 | ! e, F* \9 z- @5 q
0 S& a' X/ t: }- S# n* p
if(parentNode.parentNode == null)
" ^; r% g ^ c" T) {& J {
6 v8 ~& P8 T% v6 W/ T isLast=true;* ?( ], p- W& K( X- r5 L( w, A
break;3 [ m O; v; K" z6 ~6 y
}+ e/ j" i8 }* Z8 T0 B& ]
parentNode=parentNode.parentNode;
" j3 A- [4 V5 ]: \2 Q3 K parentBgColor=this.getobjstyle(parentNode,"background-color");
' [0 T% U; t1 s! R$ k2 Q6 s( N7 V9 d" X9 \
if(parentBgColor != "transparent")
$ J3 G1 U' f' r: P6 @ {4 C; i+ S% l L1 M6 r
break;
! A* O$ n6 D* a* e' [' d! n/ _ }
4 L q3 l0 g" P2 ~+ g+ p }
; n; x6 ~' Y6 D, R if(isLast) 4 |& u# s1 A1 e* d/ m! g5 z- i
{7 \, q/ x# n0 A' a9 u ?
if(debug): A( f: i. A; e6 U. O3 N* T" e
{
3 V8 o& Y/ D; l! U8 E. ?! {( Z alert("last!!");( L4 L3 N$ z2 g: W1 F
}% Y. @, Q. ?9 d/ V9 y* o
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! `9 F$ p$ c5 H" g
{
) E, r& C3 M; A! C0 z: U+ p orgNode.parentNode.removeChild(orgNode);
2 N) q, ]" `8 q% w" n' D; p' f, { }8 I( Q0 Y }; {! t
}: d4 e k! `& r* ? } a2 ~
else
; j! O" j) Y( D4 t( T {
1 o R4 B. B1 B1 X' ]$ I8 r/ r# @ if(debug)
, |: X* A3 X# ~* ?7 Q k* l. R( d) j {
( l, H: n& @8 v; O& C! A alert("compare color and parent bgcolor!");: [; I/ J7 W- Z! {( z; w
}! E: p$ D+ J' U. Z4 {: {
parentBgRGB=getRGB(parentBgColor);
) I) C* i5 U# G. o( ^ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! v _" Q/ {0 [- p6 m {, v3 E. U3 U2 s! ]- R, M! c
orgNode.parentNode.removeChild(orgNode); % a6 r& g& i5 V2 Z$ A
}, r; W+ B' g0 |
}2 M$ X! a, E1 c; k2 T" n e
}
: `$ r6 Y/ a5 Q }
' W# W! j% {4 ?7 P }
2 L- V3 A# f% P* K; s2 G- n" m2 U9 ~ }
7 H& c; n' O1 w+ n& s) m& u, {) ? ' i" P2 c7 y+ n' G
3 u. s( S7 [8 a" _; ^: v ^
var itemFrames = page.getElementsByTagName("frame");
3 x! t1 C4 I, N' D8 @) @ var itemiFrames = page.getElementsByTagName("iframe");
- l9 {( A: t+ n( i1 N' i
0 [* \, k8 i5 s. C C var frame, iframe;) \2 c/ l- g; A$ R: K7 r$ V6 U
if (itemFrames.length > 0)
1 r% C# @7 i3 J. H {- {3 g/ h9 A4 V1 n; X
for (var i = 0 ; i< itemFrames.length ; i++) 4 Z) c& F* r$ x* x7 F: B
{
, b- i( r+ d/ d* J+ _8 S& v$ z frame = itemFrames.contentDocument;
+ e/ d$ r% T3 ]& d this.RemoveHide(frame,objname);
+ ^& N# o2 N% `( V- T7 W }
) c. ^/ Q2 u9 B, P+ R- U5 o) A6 c }
4 D; R' S+ d3 K/ r7 R if (itemiFrames.length > 0)3 v$ k I9 w# g9 ]
{( |8 R/ K7 i' o+ _* V+ ]( s, \
for (var i = 0 ; i < itemiFrames.length ; i++) 6 U$ Z% O1 S& f! N8 V# }4 ?
{
, T) [# \* V$ |2 I: D8 r* \ iframe = itemiFrames.contentDocument;
]$ S) F1 Q3 l- W3 t. f this.RemoveHide(iframe,objname);
5 ]0 f- O& t- \ }7 D. w6 N: C5 I* n; F2 n
}* ]& M6 Y# A8 w2 \2 o
}$ c ?6 C0 _' g; F: E8 L# w" {
catch(e)6 }2 q5 y4 P5 m l
{
2 K8 ^4 I: ]$ |- x1 B; X: [ if(debug)
- B8 `% k4 }8 s v {) Q- V% B: r/ R c' L
alert(e.message);
2 O M: h1 h( k7 }% f! L9 k }
" Z O% e" X3 \( l! r; U* ^0 [7 k }4 ?, o! s9 E* `6 C' B) I7 o# v
}
9 B) r7 L9 H/ Q6 `- l" H
+ S8 H. J7 j* P: h}
) T2 r9 c" `; ~3 f0 E- T0 I6 U6 P0 A; l7 c0 o
function getRGB(colorString)
! O' X: f( f9 i/ S{ R% e: B3 h2 Z% V, Z m
var RGB = new Array;
, r+ n" B! ?6 I9 a0 o( ^8 ~1 _- P2 d# d var tempSting=colorString.substring(4,colorString.length-1);! h! _7 m' z3 a7 w; S
var tempArray=tempSting.split(",");
/ K. F8 z& L: b; }0 I5 W# B2 Y8 B. V2 q/ ~) K/ ]! E) H
RGB[0]=parseInt(tempArray[0]);) B' P% f4 Y% K! I
RGB[1]=parseInt(tempArray[1]);2 W. V5 V" e' D' q7 V, e/ n7 E1 l
RGB[2]=parseInt(tempArray[2]);
G+ S( `# u# }7 k; X ) {; p( f) ~6 A9 c) ]7 C/ r
return RGB;: w; u$ D5 d0 \0 Q. D6 ?- s
}; e" C0 G! v l4 ^3 P9 O# x
function keys(evt)
7 M0 m4 |- r4 [; ?) j+ ? { 0 s+ C/ c+ v) g) I* ?
if(evt.ctrlKey && evt.keyCode=="81")
6 o" ?6 \' }& N1 k6 q( K { # d2 }' x7 ]9 t b; p5 A; v4 H) ~
CleanHideObj.on(0,1);8 Y: J% L# {& K9 ?$ z& Q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) ~1 F7 S' A1 ?' C
6 b% N, F$ `0 |% N! f4 r) V }
2 T. P' i5 K" z2 s" v4 K; Q } 8 U% O! M1 U4 Y0 ]' X0 [" `
document.addEventListener('keydown', keys, false);
5 p6 M& ?& I7 ^; T. G K1 Z6 CGM_registerMenuCommand ('Clean Hide',
; U/ N. }+ D9 h2 _: H% U. D' pfunction(e){
; |+ {3 G- Z9 ^. ^* i, }2 BCleanHideObj.on(0,1)
8 `! K- D$ o5 l0 V/ w& t" c9 z8 |- ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! |: D9 J" M) ^7 u! Q
});# @. q7 \* o" e2 H# b4 X* m
|
评分
-
查看全部评分
|