|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 5 k; [ S7 y' {" G
6 h. b/ O5 w% r
火狐插件,用猴子
" O. @. ]0 C0 B) c. X* m% n9 j- K+ i. _: j. p
var debug=false; 6 \$ W4 T4 t6 f; t }# X0 z V
var CleanHideObj=new CleanHideClass();8 t$ o) h7 M8 d3 O# N G2 Z
9 I Q: u: q/ F% ~; Zfunction CleanHideClass() * I8 ? b% g, B; F- {) Y) A4 j" g/ ~
{ , C0 J9 H' C/ W9 Y0 B
$ R( d, K9 K/ V1 `' W4 K, |8 A: { this.on=function(id,bMZ)
+ n3 x% x) E1 i& e% u( @) B8 s {
7 v X1 |2 y4 `5 T: w* w0 p9 X3 F
i, X2 r! v4 z+ s if(id == 0)+ S1 ~2 b; Q$ y
{3 B5 f+ P H0 z0 v) ^
var page=/* document.getElementById("content").contentDocument */document;
9 W! W" Y5 L$ d! d$ ] this.RemoveHide(page,"span");
! V+ k2 R4 c/ C0 @8 k0 ]5 G this.RemoveHide(page,"font");
1 n' V* A, O7 W7 V+ I this.RemoveHide(page,"div");
% |% B$ K0 p- ~* a, o this.RemoveHide(page,"p");
! j% h {9 @9 k: s" h9 _5 {, m* t7 i% \ % W# _# n y, c0 |# k" m4 y
}3 B' p# K- v( ]: L/ t+ w
4 u. C1 b9 \ x( A7 P6 t0 {
}2 h2 s7 j$ P7 @. P) V4 n+ o9 `
this.getobjstyle=function(node,prop)
! y' j/ I9 W; U' E% q {* b1 A9 {9 e% p% ?( P
try
9 v& P3 H# ]' s6 b" C1 n2 K {
, I; Y5 Y' R. { return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, a( v2 }- Y) a( Q }
6 d. \+ j0 z) r7 `# ]$ D catch(e)* O+ `! _# N7 l) z: m7 `
{
% Z; o- a& j2 i* Y/ x* [ if(debug)! T" W6 C" y/ g, F* Q$ D
{* T" |0 ~8 t" v8 H0 c; `! R
alert(e.message);
' x- m1 Q X7 _) a6 E' c: I6 r }3 A/ W2 `' Z4 \3 V8 g
6 p7 x" H+ c3 T$ N( [
return "200";
8 r0 F8 h4 j. p! U5 `/ a8 V6 s }
( M$ i! M( s2 a R$ y* p }( k5 `: x4 C. e) N I
1 m6 u, d7 I4 V; z this.RemoveHide=function(page,objname)" O- D( C# w+ k* s! T. [
{+ L+ A0 K1 H9 U$ x
try
5 w( J @( d% R {
5 f2 \" V# x9 d var minValue=15;) r% {8 @1 ]+ \ @) |9 j
var objs=page.getElementsByTagName(objname); . [3 _# N3 X9 f! v7 ?- g' ^0 C
/ u1 t9 n& m3 i5 O+ U) K* c2 K( G
if(objs.length == 0)
& X. y }2 [" f% O; Y {1 M ~" b/ [. B1 h; k( p, F
if(debug)
( z. {" z- w& | {
6 G ^. W- o' ^& r, ]5 Q5 s4 l+ o alert("no object found!:"+objname);# R9 t6 r% J W; M# V
}
( Q. o. }, } D" e0 o# E6 Q5 H; l }: W: }: A9 o% ~' c8 C+ r$ _# A; F+ s
else8 v$ H) n! B6 j" o8 S4 f, a; d
{
' R z; Q" A0 K& j; j ; I$ g; V: t6 O( Z/ ~9 p; K
for(var i=objs.length-1;i>=0;i--)
4 I4 ~- w; A+ k% p+ q! ^; z! v {
$ k Q! T# Q# }2 O- P' _7 v var node=objs.item(i);
# [2 K& X( ]; K $ c5 q( I& y2 y: _+ ~% H
2 O3 R- T" o4 ?8 M if(this.getobjstyle(node,"display") == "none" ||
! J9 {2 D' p1 U) }( f this.getobjstyle(node,"visibility") =="hidden" ||7 l, E4 j9 F( B9 D. T
parseInt(this.getobjstyle(node,"font-size")) == 0) 0 M* E& y9 T' ~8 Z# f; O
{
8 V; C+ r# o3 g: p# d" s if(debug)
/ n0 f+ g/ ]8 f% k' Z S {, G4 ]( H3 ?5 u
alert("remove invisiable!");7 {6 o* _, L. M% _
}" c; _8 f! ^0 u( f
node.parentNode.removeChild(node);
( `' Q5 {# q' `2 `
5 c- D$ W. ]5 [& k) }% J' r }
, r: ?% F6 G$ c6 f0 e! {9 J& { else . f1 u* k2 a& \
{1 r7 z" [$ m- L4 e
if(node.parentNode) ! U/ R# @! |/ l. q4 Y+ t
{" z" ^/ F8 J0 V
var orgNode=node;6 G; X+ p3 z" l! H) I9 K& q2 O( {
var orgColor=this.getobjstyle(orgNode,"color")( y9 s5 Z! U& t1 u% u8 t
var orgRGB=getRGB(orgColor);
- M; t# G* l7 w5 v# {/ z
" A- X- P$ c2 F0 S9 V, E8 \! i var parentNode=node.parentNode
! ~+ W U9 T4 @$ U var parentBgColor=this.getobjstyle(parentNode,"background-color");
6 ^' J" i9 g. i% ?* E 1 @! h1 r. O& J, ~* y) j
var isLast=false;, Y1 s1 x r4 h5 i1 W
' a" y! F0 ^: o7 [% A: M; _ while(parentBgColor == "transparent") : o) Z% P5 W& A
{$ G5 g ~* j0 [* d6 H6 I$ O
. H7 B V4 a ]+ N/ T
& p3 k5 d8 x% j( W6 d7 ]# c if(parentNode.parentNode == null)! p: D* D' l. c) u& b! s0 F
{
9 X/ k) ~# Y+ ]6 w4 M3 H isLast=true;: z5 b6 S- J8 [& U( R( w- b W4 ~
break;9 M$ `( }" f3 o. Z3 E: k# Y! w; u
}
% \$ ^7 V$ a2 ? parentNode=parentNode.parentNode;# R# \# T6 f( k, R/ i( E+ @2 B$ |5 t
parentBgColor=this.getobjstyle(parentNode,"background-color");
" c7 T4 Z+ S k
. p8 S* l. a' _+ p if(parentBgColor != "transparent") ; d0 y0 U/ a/ Z+ S
{
7 S- T0 b3 Y) P) E break;; C: H) ?3 ^( _% j% X3 S+ {! Q
}# Q! b, \% L0 A9 g/ B
}
) o9 n" M9 D* o" [ _8 g if(isLast) 4 O; R2 v' d% I. x7 K
{2 {, _ u3 L$ z$ ?4 M2 l
if(debug)2 E+ n( W1 R, f) g: n+ q5 N# x8 O
{6 O+ c$ ?0 B% h- h1 \3 A' k
alert("last!!");4 O' o" u" r) c- C
}4 A' Z2 S9 {3 q: r+ I/ {. O
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 w' O' C8 ?% E {2 d: a$ i" ~) [9 J
orgNode.parentNode.removeChild(orgNode); / a1 U, U" N; ?
}" w) q; ?' B V) s6 J( E
}
: a h& k6 X/ J! D8 j else
/ I" B. e. N, ]$ b# b( [* q {
' x5 b5 [5 e6 l& {4 ~: W if(debug)# F7 ~' n. r7 u% m: u7 U
{. d9 O7 h3 T- a; ?* E1 j
alert("compare color and parent bgcolor!");
. N( Y, B5 b- a- {0 z }
! }- P1 n# B/ T& M parentBgRGB=getRGB(parentBgColor);
& ^: J" L7 o4 u) \0 a6 G6 ]# A if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)), f: z+ p' m3 F$ a- A2 Q% F. Y, w! }
{
( u- L7 a& H, i orgNode.parentNode.removeChild(orgNode);
& t* A/ [3 q+ U; T& J1 R5 X: Q }, K2 ^& u7 S6 Q- H% p
}/ A/ x7 v: \; G
}' `1 M* z4 l9 Y0 ]/ J
}
4 X% @3 k+ q( `( f/ A* D" X) ~# [/ q }
! n( M7 G& J" |/ b: g' K }
7 ^6 `- e4 m/ ]
( l& ]+ q" I% s' ~8 i, t( `) b( L 4 w8 b$ ~& L2 P& s- \: h: [. F7 F1 e
var itemFrames = page.getElementsByTagName("frame");
5 ^5 E# \4 u/ I$ U var itemiFrames = page.getElementsByTagName("iframe");( `: ~! J \$ o1 j x! Y; M# Y
# I) C) N# Q: H7 F
var frame, iframe;; C$ j; ~& A; e: K8 M5 k
if (itemFrames.length > 0)8 Q- ?! Z, w. r; y
{
* I7 q+ H3 ]# I" B! a8 F6 S: w; X for (var i = 0 ; i< itemFrames.length ; i++)
" t/ x+ w$ e0 t. b& _' e {
- y( O: U, u7 S0 m& T frame = itemFrames.contentDocument;: `) h/ j! t; u& ~: G2 m
this.RemoveHide(frame,objname); 3 i& i8 ?" S) E8 Z
}
# g# K7 `' i2 D: ~# V. c# }8 b }
9 V3 v* Y/ ?) { B& i if (itemiFrames.length > 0)" \1 {% X: ~% ]9 B- l5 j
{( F0 ?- u+ Z8 `+ d
for (var i = 0 ; i < itemiFrames.length ; i++) , ?. O0 E, J# m ?! p
{
K( d3 Y/ M/ E8 y) x iframe = itemiFrames.contentDocument;5 O( `3 N% V; W2 W% M6 L
this.RemoveHide(iframe,objname); 7 F. l5 `& o9 ~* K: t7 F& a
}
/ v" f: b2 u$ v6 Y }
5 g6 C* p; S3 K/ Z6 l6 y }
% K) V# O, p* b& `0 Z9 g! c# s catch(e)
4 a! W# ~8 E- h$ u9 V/ i+ X {
_! ~# m. s4 Y9 z- y/ w+ Z if(debug). M P" ~1 D2 t |: r: S/ A @
{
$ W; j7 |& \5 y( \ alert(e.message);
8 e% G+ r2 `# b3 g- _) k }; S* h/ k: D* \2 g. j, M9 O
}0 o4 X/ P8 X0 { T" j
}+ f/ D u- X, B& r8 r
& G* ?6 T* i; K7 P4 J}* K- r4 l$ ~0 X. G. G! c) m7 L
6 P% w' z, } X8 V8 }; b/ X; T9 X
function getRGB(colorString)2 K+ {/ P6 ~9 r2 {
{; ~% D7 P. j- t/ T
var RGB = new Array;) N& o- v/ e' l/ K: @) Z/ ]4 F
var tempSting=colorString.substring(4,colorString.length-1);8 q, b4 Z- J1 H$ A$ ?
var tempArray=tempSting.split(",");- @- e7 Z+ n' K+ X) I
$ u' t- x& I0 V" t3 \ RGB[0]=parseInt(tempArray[0]);0 \0 n7 F3 z9 M- M9 _9 R
RGB[1]=parseInt(tempArray[1]);1 v4 L- {) K" \4 A/ Q5 v& O
RGB[2]=parseInt(tempArray[2]);4 E9 }9 U/ p- o& H' _
9 Q) B" [3 U5 J( |
return RGB;
3 O2 B* w0 a+ n1 _* y}, {( z# Y( e. \! D
function keys(evt) : T2 G: P7 D! X7 Q8 [
{ 1 D4 [6 L' b7 D6 j }3 L! m% b
if(evt.ctrlKey && evt.keyCode=="81") 2 V+ s* w4 e+ ?, ?
{
. |8 z& N) T! F# ? CleanHideObj.on(0,1);2 v, O$ s) @1 z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ u) o ^7 ^/ Z 2 |: A" R6 h& o) v$ f5 X% i; I
}
: k) D2 s/ N% I: j X }
: f9 U; Y' Z! b& tdocument.addEventListener('keydown', keys, false);
/ b; q5 ?/ k5 n6 _5 ~" e+ h6 |+ PGM_registerMenuCommand ('Clean Hide',5 s; l# c1 z( a8 O5 R5 N/ }( Q
function(e){9 ~* A4 y. o* c/ _
CleanHideObj.on(0,1)$ O- D& D; {' e3 H( F$ |7 u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");/ c5 x( u" [/ z/ S$ V# d* o B
});
* u$ [" g# |+ d% O |
评分
-
查看全部评分
|