|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , e g! j% R0 N i
$ v+ Y0 j( V; T% V火狐插件,用猴子
! T2 ~3 k" k) }" ?
: V/ J7 `. _. }var debug=false;
9 W7 G/ Z( P' t2 Z+ qvar CleanHideObj=new CleanHideClass();2 F9 U8 D7 |# V* ?; t: _
- Z2 e1 B1 G; o5 _
function CleanHideClass()
+ p# F& ^9 N5 L3 [' J/ _ \) D{ ( |+ N7 K0 ]: m2 `% z1 M5 [' N! d
/ T! W5 A' J _ i' D4 i/ C this.on=function(id,bMZ)5 F( I& m; p+ h; U# B( P0 Z( q
{) u/ j: \0 u& @ l6 y5 W* _
. K; F1 P8 W6 n0 Z7 `
if(id == 0)" A7 h5 e: y, B: @ X3 Q: e
{
" \$ h2 A! v# B7 ^ var page=/* document.getElementById("content").contentDocument */document;
0 }+ a+ I! Y3 }3 U2 w d this.RemoveHide(page,"span");8 B% S- W: q* _+ J. N* Y: Q. G
this.RemoveHide(page,"font");
0 @; i$ P1 }( D' s( C; L& }6 X this.RemoveHide(page,"div");; P. b: \2 H$ Q4 ~$ T
this.RemoveHide(page,"p");
2 d% M+ C6 Y T V
. S' f1 o) y3 `8 a. u4 { }7 q& }9 @6 R9 X0 w$ _3 T
4 ]7 h, B. n- L, G1 w8 `
}9 L1 u0 B8 n1 q8 V8 x6 }9 t
this.getobjstyle=function(node,prop)
8 j2 R# M& k2 G, P ]( k {
0 I7 c. b p8 v6 e* R8 t$ ` try
& i& J, ]* o0 e) c6 _/ d {
1 a. c# H( S0 T2 G. j3 h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ B* h4 v2 Y" I
}
# v. w) W% Y. I: y! h3 B catch(e)
# x2 D2 I7 W6 J% q {
# f2 e" G8 x8 C1 } if(debug)
) {, ^+ x' |# l% i- S) J) k' G {- v l- X$ Q& X3 m; `! ?0 w3 v
alert(e.message);
) `- B: R8 `) q7 B) l1 t6 w }. d; y, s- c! i, A! Z0 Q
% b L* A5 l1 w1 Q
return "200";
' I7 S G- Z p8 z }4 k2 x/ X$ l0 E, a9 I
}2 A6 b9 k) M2 j8 M( i
+ m( K' p5 j% z( m
this.RemoveHide=function(page,objname); y& ]" X5 O0 Q9 O* X
{
4 Q! f, Q: T5 ^: q/ a, } try
3 C. [( k6 u! L) ~7 r- C5 [ {
9 T2 I6 s" |% U4 N4 k var minValue=15;
, H9 i) G3 o: r7 y var objs=page.getElementsByTagName(objname);
' n) C C) E2 s& _* A; l
8 {* P6 |) P" p, V, p1 A4 \7 b if(objs.length == 0) ! i9 @0 C* n1 @$ k# g2 _
{
f4 H! @: X8 |$ H4 N* i if(debug)
4 K0 Q% o' |9 E0 m, X9 ` {4 A1 o& @8 W% K8 V% L: |
alert("no object found!:"+objname);) J1 V. g& j' z# M
}
7 T3 U* H; y' y/ \* j/ ? }; Q6 _# {% u. C9 Y5 [% P
else
: `- ?* G) l6 B0 j& r8 m {7 t; {: H0 w9 n- z. e; y. t. F
3 g) @) {3 S6 p7 K for(var i=objs.length-1;i>=0;i--)
( @3 k; V/ R4 @0 N {) q& q- ]3 e- `( D5 @, A# I/ L' ^
var node=objs.item(i);
- @# p+ \% o' {3 F# C0 ? 9 }- @/ _5 { m/ i5 z
% `+ g; h5 \& e. f I
if(this.getobjstyle(node,"display") == "none" ||
" w1 q) D4 v/ W3 g1 T6 ]% v this.getobjstyle(node,"visibility") =="hidden" ||9 c2 {' E5 x9 N, f0 Z
parseInt(this.getobjstyle(node,"font-size")) == 0) ! K' G4 \5 w4 \
{; L3 B5 U4 O& h; R- d1 G
if(debug)# W: }8 W5 Q5 U3 ]) U: P" L5 ]5 H$ H0 }
{6 a' s4 Z# ~( F, c6 w' [1 F2 C7 K: W. F
alert("remove invisiable!");
3 }5 e* F* h2 A3 S$ Z }
7 B& Q0 x) c( p, w node.parentNode.removeChild(node);' s. o' l7 |5 r
5 q5 n6 \* ~7 y7 C/ V4 ~
}
! m; h( ? r2 W {" m else / R- j! u/ L; ]: m! H7 t0 ?7 T
{
/ }- ~2 d. j0 @' j: Y$ i if(node.parentNode) 3 W, F" }) v! q0 P5 C8 _3 Y
{
! d8 P% N, n; x var orgNode=node;: a5 R/ L7 S" @7 U) c; w, v* Y
var orgColor=this.getobjstyle(orgNode,"color")
# b1 Y8 w' ?- k) u+ ?5 p- B1 P var orgRGB=getRGB(orgColor);
! ]! Q; ~+ ~% b
& J, N6 C# c) `; t+ O% O8 { var parentNode=node.parentNode+ a Y* A# F( t3 Y! Y/ l; x1 v m
var parentBgColor=this.getobjstyle(parentNode,"background-color");7 J$ E0 X9 k9 B3 R
: U% M) W! J- m" C) @& g) t: P4 [2 r var isLast=false;% w- r9 D1 P# b! p: L5 O
- e! [, e2 s& C2 j while(parentBgColor == "transparent")
; `4 Z. z/ y& T {3 t# D- Y& q; c4 y/ `
# F3 T$ A: Q8 X4 q- G! c2 {$ q1 u - Y t, i1 }2 q8 s; s3 `& m0 ], z
if(parentNode.parentNode == null)- j6 `( H" r2 t7 y
{+ Y! k& ~7 i) U7 g& `
isLast=true;: X' l& f; M' m; C8 n: k
break;
; h7 y, O! Q: {9 ] n. k }, C! v8 G; J3 F3 X" w ?) d6 R
parentNode=parentNode.parentNode;
% ~' W# `4 ^3 t+ S parentBgColor=this.getobjstyle(parentNode,"background-color");
, _( n' U# @# I) C9 W6 w
# f+ I1 _9 @* f8 e5 L if(parentBgColor != "transparent") . n7 I. E! d/ r9 G7 n1 g8 V6 l# [
{
7 i- a1 v" ~/ n7 _6 ] break;
; J+ ]: X* n, }5 C4 j! z, q, r }
! L6 V* O0 t9 @+ a }
, V5 B. M0 c# R n! W; g! i8 w if(isLast)
w$ l& u6 D- @' R* h- C {
, L1 o8 ~5 c! l8 H1 o if(debug)
0 l; z I8 V" f5 D {) `- L% N' Z$ S' {, V' ]
alert("last!!");. p* n7 k+ o; ]' J$ Z0 R, V, m
}
) Z. t% W3 l: V: W& I0 c if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, P- ]9 @* { ]& u7 p/ Y" D/ z! H {4 H8 p# @2 ?3 |; A
orgNode.parentNode.removeChild(orgNode);
4 X: }, \( P9 W7 g! Y N! I }
# s3 R ~# ]0 I' }! E2 ~5 p }
% D' A# y2 r4 u else
6 Q' I# z _( I# ^* q {) \' k/ B6 ^. {0 o( O
if(debug)3 P6 y9 c' E$ U5 R) H6 D
{
! ^# _& Z) G g4 `6 c alert("compare color and parent bgcolor!");
3 Y) U( C8 R5 j$ J2 K" t9 N }
+ e( c, z. d( F7 j) C& O: z parentBgRGB=getRGB(parentBgColor);
- B( n0 W2 m# c9 v" i) q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' K3 w" v% y$ X2 o {2 P( C' q0 G, b) O' X
orgNode.parentNode.removeChild(orgNode); * T4 M" F, r1 [# \) g$ \
}
3 N4 ?% w) {& L3 o7 f4 X }3 \4 e! W* I+ @. e# F
}" z) P c5 O, ]
}
1 n+ U4 z2 W- g }
! F5 }/ T d; Y: `8 g2 m* L }
/ ~3 G3 c# X3 Y8 T* K
# N/ }+ B4 L& t2 j / f/ k }2 n7 b3 c. a9 d
var itemFrames = page.getElementsByTagName("frame");
' ^2 a1 L6 `! p( K+ T. O8 n, j& a var itemiFrames = page.getElementsByTagName("iframe");
6 R- W% P* ~" ?, h; \' p) r 8 K; l: w- ^, H4 E; T3 g" x
var frame, iframe;$ S* i4 j' q" ]7 u) _: Q1 H9 Z; l7 j
if (itemFrames.length > 0)0 H$ P; O' ?$ ]
{
# R/ r- h% f3 N for (var i = 0 ; i< itemFrames.length ; i++) , N6 G7 ~8 w* m
{/ m/ v! w9 ^$ \6 A0 [) `2 @, ]
frame = itemFrames.contentDocument;$ ?9 F/ b; I/ e f
this.RemoveHide(frame,objname);
; i4 F* u- L* l; s* z }
4 @( V3 u' \( ], g: ^ }0 i6 k$ e# K; Y
if (itemiFrames.length > 0)) c# I8 m* w/ ]* F1 }
{
9 v( h- d( L# E for (var i = 0 ; i < itemiFrames.length ; i++) / `, @ d( D4 M
{; t( u' u' N& ^0 {5 D4 O4 V
iframe = itemiFrames.contentDocument; b# O: I6 `5 S" _% E( x" ?
this.RemoveHide(iframe,objname);
4 S; o9 ?5 @# H3 M }
- d2 h5 ]8 d+ H' c }9 g- z( W) o5 I8 D; Y
}. {4 N3 |4 y. C
catch(e)4 i- r# @4 h; D; Y: c o
{
; N, n+ Q. Q. _ V7 |% \8 Z if(debug)& b' C( u3 P7 j7 l
{0 {, K" }+ A# }6 I/ a
alert(e.message);8 k" I1 \+ K( D" ^: |
}
, Y# [, e! E6 A% m- L( T+ W }1 q( c' P, d* `8 W. D& `! a, c
}
* F9 D/ A5 M7 U6 n1 }: l; y k ! j! D3 M0 Z4 g2 D9 v
}
$ c# ~) f6 B5 M. s9 ]0 X+ C* h4 w/ J1 I8 K9 F# N
function getRGB(colorString)# {2 P! H4 I: N3 p5 D
{% s/ J& e2 _" ?% r
var RGB = new Array;
4 I& H$ a+ F" Y9 d8 J+ { var tempSting=colorString.substring(4,colorString.length-1);
9 P' j/ T- K3 X' s9 {- o var tempArray=tempSting.split(",");
( s: T- d9 J. m; ^+ a1 S- j% M0 g% y; J( x5 z- ]' x0 ]
RGB[0]=parseInt(tempArray[0]);
0 U5 s) V: G% S( E5 V2 Z5 S; q RGB[1]=parseInt(tempArray[1]);# t' l* m: _8 s
RGB[2]=parseInt(tempArray[2]);
! g( z0 F: f! Q$ M & K/ E3 r; n% N% v7 c- ^2 h
return RGB;
9 J8 }1 `& e2 g, @5 d9 A}( }9 y* X( O9 _; `8 w
function keys(evt)
% `: a2 ~( A. C) o. k: q) {8 ]4 D { 2 O( E5 w" ~8 m, \
if(evt.ctrlKey && evt.keyCode=="81")
/ W' b' @6 G* f) ?. A! c" Q { 5 D9 q( u I$ D" i% k- F2 v9 \
CleanHideObj.on(0,1);1 f0 D5 A7 X: a6 \& f8 O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! l& ~9 K D1 i . U7 T; R- y+ m1 E+ V( Z8 X
} 2 S9 ~2 u; O+ w. Y+ p( b; J
} ( ]. j. L; N5 L p5 s
document.addEventListener('keydown', keys, false);
" c) M! k- ?, X% r' b* v' o4 yGM_registerMenuCommand ('Clean Hide',
( @% L0 R& l; I/ ofunction(e){" v. v4 W" J1 M0 ^) b
CleanHideObj.on(0,1)9 X7 r( T# M" Y9 e9 N) ~
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: q2 D, G3 g: r# Y});, `" D$ u- s. i9 `* {* P1 |
|
评分
-
查看全部评分
|