|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 A! M7 r* L) s9 \& ?3 Z( q' F1 j( k$ ~! K3 O1 Z
火狐插件,用猴子
$ Y& [- O! P' W0 c$ i9 p- C( O6 z+ A6 v/ z
var debug=false;
& k2 _1 h4 Q4 ?+ ]* Q& @3 tvar CleanHideObj=new CleanHideClass();, R% C3 X8 }- c2 M2 @
, i& b" |& Y" A2 x+ n
function CleanHideClass() ! t) i/ \* d: K. |3 [. {
{ + M- O3 M" x% r! u- K* E8 m0 K
8 C O1 a& W4 U# ` this.on=function(id,bMZ)
, `' ~2 c1 f% W. Z4 s7 \ { A- M2 t! E; M, f
$ J- `3 y4 C5 \: O9 i4 G if(id == 0)
; F. O( K% F s- t! m4 e3 w0 y+ ]2 S {; p% u$ m% `+ E6 h# G
var page=/* document.getElementById("content").contentDocument */document;
3 ?# z5 D x' h- [* `7 Z this.RemoveHide(page,"span");
c4 ~2 W. B8 T this.RemoveHide(page,"font");
8 @9 t. Z. \ Z/ v) Y+ l. ^ this.RemoveHide(page,"div");3 g6 C& H; G8 l- c! A$ o- {
this.RemoveHide(page,"p");
% m g% e+ B: @5 G
7 e; o8 ?" v2 z0 Q4 g% ]% A9 p, m }& c( G6 ^8 I: p( `, e
! D6 U/ S5 A# s* a& e
}
3 \/ H8 L2 A- n z; @: K9 r this.getobjstyle=function(node,prop)
* H1 J1 I& a8 w {
( ~9 O E [# n- `9 H4 b try
. z w u5 l5 }6 w( i& T {8 K5 c6 k8 K' j
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); p! I$ E/ A1 Y+ v' m6 ^2 P
}
5 G* f3 \/ ?: H6 R$ {, X/ Z catch(e)
1 m3 F5 M0 X. C* G \1 F {) `$ \0 J5 y1 o. _& `
if(debug)
, S6 _" d+ [/ i$ Z! G9 c" N4 F {/ N6 U# s* g) f: i% e
alert(e.message);
+ h" _3 a! H" ^7 A8 u }& S# e" a% _. g
; Q- A) [; k2 j$ F
return "200";
, y+ [- b) \; A: j* V' P }9 k8 @" M1 B% L* Q
}
8 e! h- ^1 @$ z ' k/ j4 h* [# P/ @1 G
this.RemoveHide=function(page,objname)
# [* \2 b. t% A4 K' {. {; `# y {
5 O& N5 j7 Q) f+ U" Z9 r try- a. n' S' |4 `; {2 w/ O2 u; F
{4 Y5 ~& c+ v/ l& y$ N
var minValue=15;
9 m6 z8 V( d/ d7 G var objs=page.getElementsByTagName(objname); 9 g4 }, b0 ^2 I9 W6 Z. W
, B! y! N/ T% |4 [& d2 m& m; d if(objs.length == 0)
3 y( U# M8 r( { {
# I# A; \( G3 b% [ if(debug)
1 }5 k( I$ l- @$ `4 S" G% a& G5 C {3 P3 o3 m. i9 f5 y- y) | ]
alert("no object found!:"+objname);! t1 \4 _0 m( y
}) P/ m- r8 i; S+ h& ? b- V/ T
}
4 p! k5 R) S/ D/ Z$ d& T. o+ G- P/ l, x else
. v+ f" g6 U# ?. @4 Y {
7 P0 }; Z6 p3 S" U9 ^: l3 w: C 6 N" w, j& m/ Y5 G+ X D! e/ H
for(var i=objs.length-1;i>=0;i--)
9 x' c8 I9 h2 ~' X+ v4 K {4 ]/ M( ?* P; E8 K8 n
var node=objs.item(i);
' G9 `2 e# m. Z ]
. I) w% b8 ]$ H5 [6 J
D8 \ \9 M3 x/ k6 B6 q0 \ if(this.getobjstyle(node,"display") == "none" ||* q- J- X7 D4 k) L! X6 t
this.getobjstyle(node,"visibility") =="hidden" ||
& |8 F6 _+ I+ M) j parseInt(this.getobjstyle(node,"font-size")) == 0) 3 ?8 M6 K$ s7 M k4 g
{
' q {5 J* F" ]- e$ a# }7 E if(debug)
3 J8 F; H6 b) B8 Y( L$ I" \ {
! @3 [: ]8 N& x' H alert("remove invisiable!");) a) g6 J6 k$ \0 v% D$ Y
}
9 b- Q( g5 \, L2 k( q% y& V node.parentNode.removeChild(node);
* ^8 N1 Y A$ D
4 q. e" |# ]% y A% R' r }* V; l! E L- U( M8 f7 i6 Y
else ( f. D9 \# z0 T7 ^
{5 I. {# A3 X+ D5 Y
if(node.parentNode) & [/ A. X7 F) @8 h( ~, o
{/ f' C2 o% H2 K, W7 q. M. f
var orgNode=node;
/ o. ]/ z i( e2 b7 Z0 A% ] var orgColor=this.getobjstyle(orgNode,"color")
8 E6 u$ i! _# z- z# t2 k var orgRGB=getRGB(orgColor); / V% |; j% H1 V% `2 H
F% [' h! y' b! l7 y
var parentNode=node.parentNode! Z0 [! r6 M0 D
var parentBgColor=this.getobjstyle(parentNode,"background-color");( n( m0 u% B) G. K6 f( E5 M
5 {+ b# P& ]9 O/ e
var isLast=false;
z# j6 T8 m5 y. ~$ `
; `& Z# z$ W6 X3 v3 H6 o while(parentBgColor == "transparent")
7 t) z3 b3 X5 E4 F0 E# w {% b; m; Q1 }# x$ u8 J- }% B* y* v- z
7 Y; r5 w4 |; e; M2 F* T7 s( E ; ]/ P" Y2 w7 N A" W2 p3 A
if(parentNode.parentNode == null)
7 E3 r! X$ z, w# }- Y/ Y2 g; _5 n {
9 L" P; t) e6 u9 F isLast=true;/ }. s/ |7 F, _6 ^% C
break;
2 |3 G! A+ |6 k* H) e/ ^ }
" { s! o, N. C% x, s parentNode=parentNode.parentNode;
. I: s& t0 Z% q( E5 Q parentBgColor=this.getobjstyle(parentNode,"background-color");2 J* `) |* s$ s3 _. J/ ~/ N
. l5 ^# h g, O' A
if(parentBgColor != "transparent")
" A6 i# B: G6 m4 R2 ` {
8 o% [: S; U, V: | break;& e3 @3 e' i( v
}
% {5 [8 A) Q! A( E# o3 w# W }- v7 q2 z" h+ n+ y$ @
if(isLast) . R) T$ S% i; H
{9 y, F; z7 ?9 W3 b3 P; E) i$ R% L0 t3 V
if(debug)
/ @: K% j& G/ E; d {
% `0 X, m [( ~/ y9 l alert("last!!");
4 Q7 X" u1 p8 b% Z A; v) h5 C }2 ]5 J( ?7 f% Z: v' a% m& V
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), }. B7 N' Z; N; Z& F4 i
{ i8 c4 p6 z- x2 P3 z9 D
orgNode.parentNode.removeChild(orgNode);
1 ^9 O& T3 ?1 Q6 F# e' j }5 H+ J) A/ y7 j: J C* R
}; ~0 m& k9 D5 g, e! [
else0 ^- g( U5 i6 s2 a n% T. \ D5 P- T. W
{
- G' _, B) L j' p if(debug)
, a$ f* i6 v" c1 x% J {' c( z& ?" M+ `& w
alert("compare color and parent bgcolor!");6 p+ q. l, E! {- d* H
}5 i$ B( c6 N+ _
parentBgRGB=getRGB(parentBgColor);3 Q3 t! o: N5 x, g2 S$ {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; m- L% I7 w/ J2 v0 n {
: x4 Y/ N: H- y orgNode.parentNode.removeChild(orgNode); % S, ]5 @- H1 q; c
}& V. b0 \$ o5 }& ]
}# Z* c7 s) j5 s! n
}; U. R9 n1 t# i! Z
}
8 r1 \/ c; o* ~& `' H }/ [5 L0 r5 T u
}
7 y/ w. P& m! q6 _/ \
/ Y7 a$ O5 b8 I' \! X
7 D# S3 B- L- F9 Y1 ?- S var itemFrames = page.getElementsByTagName("frame");' b: p' Y- i- q3 m6 I/ f* y8 X
var itemiFrames = page.getElementsByTagName("iframe");
$ K) m* ^) ~3 S% ]- h5 } ; T" ]: b" g8 ?+ E m
var frame, iframe;
, R- T* ?, Z( T7 N if (itemFrames.length > 0)/ n6 r1 V Q8 x1 I& r
{
( ^+ l& r q/ `1 i+ A/ L8 e8 O- b for (var i = 0 ; i< itemFrames.length ; i++) . B& A- O" m: v% o0 G2 S5 O. r
{* X) h5 K, Y$ W# }* {
frame = itemFrames.contentDocument;
6 u1 ]: N, T8 A3 @7 e1 A8 Q this.RemoveHide(frame,objname);
2 B* M5 p9 _( l7 ?4 N4 q6 L }% l5 r) t+ p3 B% Z
}+ N( B5 o. N$ \1 g f& b+ k
if (itemiFrames.length > 0)" n& [$ `) ]( s' n1 c" ~
{9 i8 G8 g' p, e4 c
for (var i = 0 ; i < itemiFrames.length ; i++)
! `8 [# V4 c0 X7 l. z. z {
N& H; w; ?$ J8 @) s2 P& ~+ c iframe = itemiFrames.contentDocument;
7 V6 o3 w! l* D# p7 S' a- j G; _( Y this.RemoveHide(iframe,objname);
: B" d9 n3 A# b/ k, M+ | }
8 {5 z8 Z' x u7 n3 q }
2 e: R* V% |3 W: e }
! u! v" x# {8 v1 A) } ~ catch(e)
( f2 u* I2 h" }5 d3 R* i {6 ]4 L; F6 G& T4 h3 P9 U# c) q
if(debug)
; `, r, C% \' v% } {# ~: R4 q+ |5 _# [# D: U& X! v
alert(e.message);
7 {2 B/ R7 p" q ?# F }
/ Z7 O5 R: P3 d2 E }* T1 r6 j2 k" }4 f- v
}9 G9 |8 i9 F7 I2 ^0 j1 B/ h& y
5 Q- S1 y/ Q8 w, A C
}
7 _$ x" @ X% p, ^; z" `
0 S' w' i8 L8 P* a. n3 Wfunction getRGB(colorString)- R/ F5 G" t& W% S# A
{
O2 A/ Y/ W4 m: ~' Z7 } var RGB = new Array;8 q' e# M; C% e( r3 \+ P! w, n0 {" b7 k
var tempSting=colorString.substring(4,colorString.length-1);# {% S" `" M& K% q
var tempArray=tempSting.split(",");& ^/ B& b8 M/ A' ]9 u; F! ~
, {3 Y0 Y" W# c4 }8 E+ e' Q1 z0 C RGB[0]=parseInt(tempArray[0]);/ p& S3 K$ X3 X) u( I' |- v
RGB[1]=parseInt(tempArray[1]);
: S! r$ P3 z! Y4 _0 u! B& \; q RGB[2]=parseInt(tempArray[2]);2 N- j5 I! j1 t. A) R
* ?+ @1 J, f! _, D+ E# \* \ return RGB;
: M: X* v4 T* D6 s! D}
. B M" \5 r' H4 ^- yfunction keys(evt)
3 [+ o- _* Y3 _4 U; @, m {
9 |7 y- }; l7 l if(evt.ctrlKey && evt.keyCode=="81")
! c8 `6 M) N& _( {6 C" X7 a {
8 r7 l( ^4 B# } s# F Y1 h CleanHideObj.on(0,1);
, Z8 s- C* N% o3 g. x alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 ?+ V' g* C+ d& P, f# z 9 D' F+ ^4 m" r9 r3 {6 }
}
8 ^3 O5 |4 e' W8 r2 ^6 Q# b+ J' h( ^ }
% _! K7 B/ E! ?, w( L- X: s" kdocument.addEventListener('keydown', keys, false);
) V9 j: B) J0 z* u$ SGM_registerMenuCommand ('Clean Hide',6 Z/ z& y& Z: T: @' F: B
function(e){4 U& a+ r3 L! _1 Y
CleanHideObj.on(0,1): }) `3 K2 U; D! r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) W, d3 W& b# J3 w* e/ Z+ U
});. w; d5 c9 d8 B
|
评分
-
查看全部评分
|