|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& f* a' z+ ~7 L2 `7 K- N$ C
$ m t d/ m ~( L& z火狐插件,用猴子8 R3 \: Y$ l2 ^/ ?/ D
. Z( b9 a. M2 _var debug=false;
* l- @) C. V Z8 \# `- ~7 Q/ kvar CleanHideObj=new CleanHideClass();% @7 s4 c7 d! ~
6 T/ u- D" [8 m& a! J
function CleanHideClass() 1 Z2 V( V/ E' ^: l
{ 3 z7 v8 B9 H7 ~/ W- V5 ~5 ^- C
: c% d/ N% k6 S& s* H1 |
this.on=function(id,bMZ)
9 J2 I2 E5 w% {. L {
l$ a9 g/ k; z0 i 8 t3 z8 R( c8 K" |( c
if(id == 0): ]$ n# c& @, Q; t( @
{( v8 U. F+ A4 W/ ]
var page=/* document.getElementById("content").contentDocument */document; 7 y1 y7 S! n. ~) x, q8 Y
this.RemoveHide(page,"span");
% w" F* P! O' @/ n' [( K0 E this.RemoveHide(page,"font");( I- u4 G# n: t# Q
this.RemoveHide(page,"div");
: S# v; y8 {: |" J, e9 U2 Q5 V this.RemoveHide(page,"p");( J2 f2 i% l2 _! e
+ D; G0 S! h. O1 ? }& s" h, _, X2 j+ L, l5 I
. D/ n' X& h) |* |5 D }! B$ d2 L2 S o: H$ s" ~3 e2 N
this.getobjstyle=function(node,prop)
/ F; w8 n3 D- T& ]. d/ t1 H {
9 R# r) e% O6 D% c- L+ N0 i( v- C try
# _/ V1 C9 ?- e: V* t {
+ H* C1 u6 y l/ n return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 w) d7 u: V. B) U. B) h( N" z }; @; k, [* k/ L3 y: R
catch(e)
. m$ s5 c6 J$ Q6 Q0 j {
7 }7 d8 C4 h. _ if(debug)
' D" X" X& |( ^+ C7 [1 w9 N {9 x- u8 N& u" \9 Z8 P1 c, c. M
alert(e.message);7 E+ C2 ~' ]! ~
}
! `/ V% A, Y$ y; U# j
* Z9 q2 V9 T8 j! [( ~ return "200";+ ]" m9 |2 g6 I- `
}
+ W" X1 X9 g$ @ }$ ~4 v7 e3 @6 r& l7 t6 Q
4 z+ `3 v) ]; S1 u$ c4 J
this.RemoveHide=function(page,objname)' ^4 v6 m0 B4 n- B. i* ~9 _
{7 E# {) ` B) u
try
( C- Y$ X) Q( i6 P& S {
, }* n! F% \5 R {4 M" |6 G6 _ var minValue=15;
, S# g: i! I0 z8 i var objs=page.getElementsByTagName(objname); " {- Z, v- u3 X1 T( n# [% h
5 o3 H" @5 x B5 [
if(objs.length == 0)
, E! O* k6 _1 X, U Q! }( Z {) k$ V. e8 g7 N5 k% n% Q
if(debug)
* M) M( h! X, H) t6 M/ ^/ M {7 z; D& c& c1 J+ r5 g& Y
alert("no object found!:"+objname);
0 Z+ b4 ^2 Q3 {: t3 Q$ ]/ I) c8 ~ }+ Z, @# u1 [; U3 p! ]! e! H
}
, Y3 \% P/ K# h6 Y/ f else2 F9 M J% X' U7 M" X. {
{$ o# F2 G% z9 u* q
9 ~% u: R+ U/ p# u for(var i=objs.length-1;i>=0;i--)
" i/ w, e9 a7 d& i0 a2 T3 d {/ `, Y+ ^/ E Q, e# d
var node=objs.item(i);
1 [: J, o' F7 K" V) z- D% H + O' E5 a6 d$ i3 j/ e5 E% X
$ k+ s/ N" ]9 c, {% k* n$ V: ?
if(this.getobjstyle(node,"display") == "none" ||/ [3 Q+ V: j) f5 }
this.getobjstyle(node,"visibility") =="hidden" ||
+ x; e8 | u7 i0 f9 w parseInt(this.getobjstyle(node,"font-size")) == 0) 9 \* h+ G) `9 M0 V+ q6 a1 Y0 C' E: e9 T
{ G/ N' N: `% g- [0 _! m; N
if(debug)
6 i% J" o" E+ Z) @, `$ O {
( }1 Y( G5 z/ q7 b$ g! g7 @ alert("remove invisiable!");. r" L1 |+ ]( K1 R% t% i
}# n8 j9 J6 H/ p
node.parentNode.removeChild(node);2 I. q1 n1 y+ s% |
; |6 ]2 b, q, ^ }
- `4 D: L4 |7 ?; R: x else 2 @/ x" g+ Z# }! L6 g$ D
{. v/ i1 A" |# d, \
if(node.parentNode)
/ v. t- a0 G& |6 Z+ e {4 U3 x5 Y. @. a3 g: o
var orgNode=node;. T3 R7 ~0 S5 a' Z2 \7 T
var orgColor=this.getobjstyle(orgNode,"color")3 j% }; I' j! K. f- z
var orgRGB=getRGB(orgColor);
$ n* u4 L: l# A7 F5 |" s: y) }' M
! z6 Z8 Q c0 A var parentNode=node.parentNode' V& [( `" g; u( c" j7 ^) w
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 N6 M# s, ?5 b5 ?+ g% ~% B
7 ^. V% x( o: [# O7 N1 W3 d var isLast=false;" [5 s0 i" O" d g
- [5 K' u" g: P
while(parentBgColor == "transparent") + f2 \$ r$ ?2 Z% W4 [# @
{
2 r0 _* U6 o$ Z: j( o 9 ]/ x$ J, b# a
$ I; X0 P% j( g' ^0 N, z if(parentNode.parentNode == null)' }* U2 C3 Q1 Y; q4 ~
{3 R: \+ Y6 e9 c4 q' I
isLast=true;% h' D- w) \5 M$ B& z0 f
break;
* N9 L* T( v. g9 k$ a }
8 K3 J3 Z) R. P0 n parentNode=parentNode.parentNode;
6 S' I0 g9 E- \' \3 r parentBgColor=this.getobjstyle(parentNode,"background-color");- i6 B) J: n: V' C. L
% w- m$ H% {9 s0 N$ J3 w( P
if(parentBgColor != "transparent") & y" t/ a& u }0 G
{+ ^1 u4 o! Y) Q/ i1 Y8 t R
break;) s3 Q" L4 V* u" W
}8 z n4 _# T5 e8 u3 l
}
! ?0 w3 a* \7 v: [ if(isLast)
# l$ T, N# [9 t5 a9 t& U* I {
% h, m3 d' O9 w3 \/ a8 W if(debug), y% b* R& B1 i4 P; H
{+ P m; A2 i- a% o
alert("last!!");0 p% T5 c, F' x* ?1 q
}# e( M$ _3 i: H3 R
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ `* B8 I6 z1 Y9 c% Z {
2 p$ p1 a. Q( ~# y$ x4 N orgNode.parentNode.removeChild(orgNode); 4 {' L* |6 K- Q, u" k+ c
}$ T1 C1 f* d% r: ]5 }
}
8 B2 ]6 W. z8 [& p( y2 w else, z$ ^3 L1 `- I. D
{1 S' `: b/ C2 L
if(debug)
3 k" u4 H, [) z) z) B1 C {
' j4 ]9 N1 H( c5 D alert("compare color and parent bgcolor!");
. j d5 k1 Y. L }
8 c- r8 w! P# E& N1 v% ?! [4 R% s parentBgRGB=getRGB(parentBgColor);% \1 b9 A J) E; l2 a
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
( ?. ~, i$ G0 F {' ?4 M" M4 C# s
orgNode.parentNode.removeChild(orgNode);
* I E# H$ D* z! W5 Q }
6 O, j5 k4 E" g0 V" p9 b8 k }
* {$ N3 U) p# e" E* X8 s z- S; z }
% l) T3 I# b% n! T; ?2 D }9 U; }- |9 w7 I, A/ v) g
}9 ~+ q* u K- E+ h7 Q/ S
}
. E9 ^+ i6 f+ Q1 T
$ r4 H+ ?6 n" h4 q% t, U6 h
0 B7 ~) o; u6 Y$ R' U. v var itemFrames = page.getElementsByTagName("frame"); z9 n7 ?3 K; x% ]. _* @8 ]9 n
var itemiFrames = page.getElementsByTagName("iframe");+ j- v6 B) G: f0 v. O5 O1 ?
A6 U r4 V9 j4 \3 { var frame, iframe;
: x2 y. y4 e! ]: D if (itemFrames.length > 0)* l( `2 o9 C9 h* x
{
3 F: {" P. {, G3 t/ O9 \' M for (var i = 0 ; i< itemFrames.length ; i++)
3 b0 | J. ]- P, h- Y8 U" h { ]' G0 k' R# [( \6 F1 W+ f/ B& p* Z
frame = itemFrames.contentDocument;
9 _3 u$ `- C: p5 y0 R' R+ S2 n this.RemoveHide(frame,objname);
) u2 P+ p& ?5 A }
' E. y' `5 {" n" I }
# P: i! I/ X8 a7 j( V7 J7 f3 m if (itemiFrames.length > 0); A# u/ i- ]# S
{
9 _7 m" M8 p4 E. m# N6 g$ V, V for (var i = 0 ; i < itemiFrames.length ; i++)
9 v% J- ^. Y( X- q6 p {+ J. n2 a) f; l8 U% \; b" {# Z' [
iframe = itemiFrames.contentDocument;
+ V5 R' I- ?' t% X7 z9 Q this.RemoveHide(iframe,objname); $ N# c) |* H- q6 G) G
}
- T! L7 i' G% P0 [8 e7 R }7 w/ n1 Q; r0 x# L1 W& r$ N. z
}
. z# j3 v6 y" f- z) }* z catch(e)" P# \) M2 U. x7 `, q$ I
{
' V# ?. F/ P- s5 y& [1 ]: v( P if(debug)5 C$ S4 C% M# J& v/ f& I
{
! l! U, C- X& e1 d$ }: N/ ^: \: e alert(e.message);
3 F1 ?3 h1 O+ o" J }+ V N! o3 S. {& }
}
7 P, s( i" r F; N }8 N# V+ n# K: H( A
; u4 f, m8 I! ~9 S% R- L& ]' Z8 ~}3 H: L, t% `+ q7 g9 A1 p7 A
& R m6 M0 d1 ?$ X/ u4 K$ a* B) ?function getRGB(colorString)% I- o0 V K" D- a* [( f. g
{2 h2 B- p0 X/ o- q- j) E
var RGB = new Array;
& D9 v4 `$ @; z4 Z$ n) H" n var tempSting=colorString.substring(4,colorString.length-1);0 [" n. w3 v) d" r7 j, D
var tempArray=tempSting.split(",");
, }6 i* b6 |3 N" u7 @7 B- o3 e# F- G0 u5 V
RGB[0]=parseInt(tempArray[0]);
% P E- R( r1 V RGB[1]=parseInt(tempArray[1]);; [0 P# T! B7 E! }/ ~; r" X
RGB[2]=parseInt(tempArray[2]);
+ P, u" k! M( V) m& B& p
1 }6 M6 |$ ?3 Y( X# g o5 L return RGB;
2 c' Z, w! T* J: U3 q% s/ A}* E8 V3 p# ^; R3 p
function keys(evt)
; {6 K9 d6 ?$ M! w. v2 q { 2 w% A# t; A0 B a7 q
if(evt.ctrlKey && evt.keyCode=="81")
; q$ L% z- `+ o( r d0 }9 R {
7 F- M) ?( h0 q CleanHideObj.on(0,1);4 m5 c! Q. ?. ^& E, l; m' s, }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; l, f4 J, p7 b
I5 L* y( J- s ]# t O& g
} % \2 Z7 @4 i$ R6 Z
} 4 X. ]' g% W# X: i/ T
document.addEventListener('keydown', keys, false);
" V2 |. j: \/ U0 y4 |) B3 Y8 D& X3 AGM_registerMenuCommand ('Clean Hide',
5 j+ u# [. F4 Q8 C' lfunction(e){
1 Z" }& w0 i5 ~CleanHideObj.on(0,1)6 _ _$ X+ m+ N- L2 ~
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' o) c4 O5 S7 l5 D, v
});" H0 z6 B9 }# p5 H; }0 {( x/ G
|
评分
-
查看全部评分
|