|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
( n# K4 H* e7 [- V4 n+ [; e- j2 E8 M( W
火狐插件,用猴子
$ l% K* |$ U: Q! V; `) X6 J. ~5 O3 F v1 x5 R0 r" ]7 ]
var debug=false; 2 O: ~: e9 w9 N, L- N
var CleanHideObj=new CleanHideClass();( P8 I( Y/ t3 @: {% |
b& V& n) w' y7 {1 E& z$ u$ }
function CleanHideClass()
& q, @* s- J% U. c4 N4 v{ 9 A0 ^& K( e5 w+ k$ x; f
6 r4 p! H- W4 L; g* {) e N
this.on=function(id,bMZ)6 x, A# y+ z! a q- h5 }7 V& v8 T
{
% i2 G9 @/ o; `: H7 Q 6 C8 s% w: N$ r+ T6 i& c$ A
if(id == 0)4 f! e1 P: {; N. F
{
7 X4 M; p9 n3 Q+ ]$ W6 E _; x var page=/* document.getElementById("content").contentDocument */document; ( z) @- I2 H/ N3 i! n1 ~# Y+ x d
this.RemoveHide(page,"span");+ P+ S# S4 P$ j
this.RemoveHide(page,"font");
2 q5 A+ C# g% ]; p& n5 ^" u6 T this.RemoveHide(page,"div");& u7 l% t8 g4 U# [: r/ [1 U
this.RemoveHide(page,"p");# F) f1 j& e9 P; o3 i
& v2 ~) J8 Y4 m$ W# C& A }% c/ W) `' W8 v# h$ d2 t! [, F
9 y; b) A, q* E; n! \ }: `5 j. o6 _% v& l( g) F+ _: z
this.getobjstyle=function(node,prop)1 v8 q$ K, X* ~ e
{7 t) i# j% f- P! q2 h0 ~# [
try
5 N* p: j; k' g& {( C {
( s8 \; X h! k% _3 e- l7 c/ X return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, |6 M' Z, g% s- o* X9 O" p }
4 E0 j4 U2 [7 f! ` catch(e)- P- r* c) E3 b& g
{
9 p6 O4 V1 q5 l if(debug)2 s& O: m& \2 q1 Q% u# g/ I1 F2 B
{! ?' i4 ^7 l7 \" [6 `+ ~
alert(e.message); O1 E# a# W- [9 S! Z# J, e
}
8 q0 K) m% M" K4 w
) f* h! n% {) n7 u/ h return "200";1 Z6 K$ ]: t3 F2 s- Q/ e
}( v) V5 V% s* v# ?6 {
}# M# [& Y4 t$ X" t- n5 z/ x! ^7 t
( P/ S3 M, I* X- @1 h; {* f+ ` this.RemoveHide=function(page,objname)
9 _" x5 m6 f# ^- j U2 ? l {
" p. S' N& J7 N# J* T) r8 w- _ try
6 `( o, Q7 }! a! I1 g {; [# D# Z H1 l* j* E
var minValue=15;
+ A% O) p; L( U$ X9 m7 H var objs=page.getElementsByTagName(objname); + q' F" i% R( R+ K7 O; F* V
" [8 t' `: s# F9 _( f* B& D4 z& y
if(objs.length == 0)
7 Q @, w2 p; i* F) Y x$ }9 k {
9 c! ~) P2 f* P& P7 ~6 e if(debug)) y0 o! F* k" ?
{
1 w4 b, S6 s( s4 f9 X alert("no object found!:"+objname);
# {$ H& h2 z, t* X, k }, K% I' r c9 T5 r/ w
}
# D' R" T% _) B+ t3 K else
& o$ j! M, x# i W- B) _ {
& j1 B2 n5 A9 L$ ]5 U 3 ^5 h5 J$ B" ^8 H( [" e
for(var i=objs.length-1;i>=0;i--) & o" t, H* n4 X" W- Y
{, M. O, F# s, h6 l! F$ F" }5 Z ?+ G, L& m
var node=objs.item(i); + z9 Z+ s; ~! z
" M9 p3 Z2 ?9 n6 Z* {1 c6 f ( _0 e+ M! p# \) ~+ k/ J( @
if(this.getobjstyle(node,"display") == "none" ||
$ [0 N5 B; j9 u) J) X& ~ this.getobjstyle(node,"visibility") =="hidden" ||2 M; [8 ?/ G, V3 C
parseInt(this.getobjstyle(node,"font-size")) == 0)
! k& t) E4 G0 X. d3 p1 ~ {
6 e2 u+ W3 k+ W6 Y; n' y if(debug)
s* m' R3 p r* \$ O F {
4 Z I- S9 ^6 x6 R alert("remove invisiable!");9 x1 Y2 v9 p1 E# v& A
}
# L5 i% \) U: h" x9 l& `" |3 X" m node.parentNode.removeChild(node);) r. \' I6 h5 d! b' p
- d/ B# N7 H5 Q! S: _ }5 b% l* d8 Z2 Q; K- S) ]) s A
else " J8 h0 j, I' P/ I% z
{
+ E+ j; z3 @6 |* T, J if(node.parentNode) - y( h" Q4 {7 U6 R
{5 Z: K1 ]; I( a3 L% V
var orgNode=node;; |$ q0 g6 T# {) V y
var orgColor=this.getobjstyle(orgNode,"color")
p! j7 ~- u: E. Q& y var orgRGB=getRGB(orgColor);
/ B; L6 }) U3 v z' }
4 k+ q/ L6 X5 t var parentNode=node.parentNode
; [. ], x: Z, H2 Z/ b9 l8 b var parentBgColor=this.getobjstyle(parentNode,"background-color");! Y& G2 s% O4 L$ f# y/ H6 o
& d5 P* C1 s4 R, m# d, R
var isLast=false;. b2 T- k# s# q; a# C! e8 F
1 E. Y4 j; V7 p! [$ B while(parentBgColor == "transparent") ; y. S- |4 }9 [- u9 S; C1 ]
{
. O" Y0 |1 M* h9 z / l& h1 q) K3 b- Y
8 L( j9 H9 r/ H0 a if(parentNode.parentNode == null)
" o: s2 \6 T) }2 ]& U0 B2 n {$ v+ m' s! O: n' P) d z
isLast=true;
2 y: ?0 G. `/ |. [) ] break;
; @: I8 r5 B1 t( {# E* m E }+ e0 P- }( A9 K% Q" x
parentNode=parentNode.parentNode;
* W) z' F; J# D# Z( h2 `( z parentBgColor=this.getobjstyle(parentNode,"background-color");6 P7 f1 h) B# b7 w" o T! O5 [! _3 K
3 [! ^0 d! _1 s) {
if(parentBgColor != "transparent") ( u" u/ T) E( V7 W/ z! z
{
) {! ?" z8 I- ]( E+ h break;/ ~" E$ o/ E" W' g. y
}, Q, G& I6 v( @9 f$ k& `
}* U+ b6 N" S5 L$ d& y
if(isLast)
. p' i) u( V: p' E7 K- t- b {
# W8 I6 S) O! e+ Q: W% ^ if(debug)
/ |' |2 Z5 ~+ V- N, Z7 O {
. \4 u: j+ _2 i alert("last!!");; q0 \) w" y4 o7 G" N
}
# S2 I+ ]6 U- e: ~. d if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( [. t, V5 B5 h- H$ P) ~2 _
{
* t/ ^2 i& B- Z: o6 p' | orgNode.parentNode.removeChild(orgNode);
/ k! J3 ~8 J7 H# x( N+ `+ C }
1 J) m+ v! [7 H: ^7 F }
& }7 I+ [" |- U# m else# D8 g# I- d9 |& E8 x( y* L8 I
{4 ^- s/ P7 K- J
if(debug)
. w$ I2 E5 ~5 r! t$ U6 b% g! A {7 V. H5 O0 W2 c' n( Z# \
alert("compare color and parent bgcolor!");3 I) E+ ]. A& ~5 g- O5 `, G& Y$ e {
}4 b4 x1 ~, O9 F1 ~4 Z) S+ B( e9 @: a9 Y& l
parentBgRGB=getRGB(parentBgColor);
( U4 ?+ ]3 E! u if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
: \* {9 |( D7 t% u* f6 m {
! }+ f% T8 u* a orgNode.parentNode.removeChild(orgNode); 2 u$ a# [; ?* E7 ]
}
+ |+ N0 k2 }: ]0 U! s' G }9 q" l( D" r5 J3 f( _
}/ q7 s" {. X1 ?- l1 j9 m
}
* x1 R; n p1 v% k8 J+ t$ d% Z$ U }/ s3 j5 n$ u. j
}1 N; d. w: }/ x7 q; d0 T( {9 _
) z) v# K1 D. A& s# z, ^ 6 x" Q5 H" ]5 K
var itemFrames = page.getElementsByTagName("frame");$ e% q: G( B2 q# j4 b
var itemiFrames = page.getElementsByTagName("iframe");3 j5 d! t4 j9 _
w# u/ C( y& n% w j4 d' U: L
var frame, iframe;
/ E N [+ D1 K; z- Q, N, G+ i if (itemFrames.length > 0)8 i; G3 B% @+ |5 z& p; f/ G- p; t X
{7 ]( q$ j, Y; w3 s3 a1 O5 e% g( S; s
for (var i = 0 ; i< itemFrames.length ; i++)
6 G5 i! P5 _0 W, A1 w- y {
' V m$ c& n% X0 m$ a frame = itemFrames.contentDocument;1 w# R/ ~& \8 `, H6 T
this.RemoveHide(frame,objname);
3 S4 @6 j) c: ^ }
/ E2 r5 u) {- Z: i }
) r( D0 {' M9 _2 W if (itemiFrames.length > 0)2 N) N: x& b5 u# d/ o6 P4 B6 K( g6 T! @
{
3 w6 D+ G, U6 ^* W! P for (var i = 0 ; i < itemiFrames.length ; i++)
' N- A" ?/ T# _/ W {
- S; x" r: f5 |/ L iframe = itemiFrames.contentDocument;
) j/ H. Z5 Y5 R9 s/ ^ this.RemoveHide(iframe,objname); $ C, L7 m7 G9 _' v) z9 Z6 U
}
% y3 K+ p) \2 c& |& O, t; j }& A# ?0 d* c+ f' O% |
}" S' G: J6 ^% d
catch(e)+ {8 C0 Q+ r( d# y5 C
{5 H4 u, C$ q0 i0 J4 I& H3 b& @$ d; S
if(debug)
$ Z+ M. t2 ?( G r {8 C# X! ]& r9 c) N/ Q- ]
alert(e.message);6 f) k; @8 R, E( r! j) j$ L" i* v- H
}; j; i+ q n1 y0 Q. {
}
3 k: M8 v% Q# b6 c2 `4 C0 i }) H% G7 o- I2 j; X- J3 a+ P
. l+ p6 k/ Q- U! j}
) ~8 w4 P6 u& {4 v5 N H0 F( J4 L' O( D9 Z, O
function getRGB(colorString)! f! `8 p. c( |# x7 Y- V8 T
{
" t, {6 x+ \5 j1 U& [) s var RGB = new Array;% |2 O$ @( C4 B [. c: K0 T
var tempSting=colorString.substring(4,colorString.length-1);8 R0 ^! h5 k: A f+ {; {7 `
var tempArray=tempSting.split(",");
+ d) h4 G I) `4 I* w% M
% u- C5 v3 D' x! p+ ?! |2 D RGB[0]=parseInt(tempArray[0]);
2 _7 r' [( p8 b0 o( P RGB[1]=parseInt(tempArray[1]);" p7 k8 q- K* R0 f! h. S
RGB[2]=parseInt(tempArray[2]);
7 f" k% V" P% p
" l* j/ W6 t) X1 h _/ J5 W+ v return RGB;
0 e. H+ j( f& `' Z0 ~6 H, O/ r}
# v8 B a/ N, x1 w: L6 \9 ^function keys(evt) 2 B$ W. I5 D( [" T+ Q; D
{ 1 h4 D$ m0 |7 m0 a! E
if(evt.ctrlKey && evt.keyCode=="81")
, `' e! _7 z" @. R7 W, V. m {
K: L+ k9 F0 N5 P4 p8 l CleanHideObj.on(0,1);
5 y9 h3 j- _* D1 l3 D& F n alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! j4 t3 a) z5 X( q2 p
' T. T3 R7 X# ~ } . k2 ~! P" [" P3 F
} $ {, H6 l8 `6 _3 O& W; `
document.addEventListener('keydown', keys, false);
+ M+ E% E7 ~2 o |! CGM_registerMenuCommand ('Clean Hide',. H6 \" E* J, q( \
function(e){, q5 W, z0 e5 Z2 s5 p1 c' c/ v
CleanHideObj.on(0,1)
' X+ t: Q8 L* A2 `% F* M+ walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");" S, o. k, Q% s0 C
});+ \. W+ c. D& i5 G
|
评分
-
查看全部评分
|