|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 {6 j9 g+ f( J( @& @: f8 s& x% h
火狐插件,用猴子! V) v& g& `2 h* K
1 _ O7 @1 r) g
var debug=false;
6 n6 L% P8 j& `5 w) W8 z. [# l, mvar CleanHideObj=new CleanHideClass();
* w& W: A. \ F; H9 {* \4 X& I, L
function CleanHideClass() * q8 X3 u! B6 o4 u w
{
) |0 E; b/ t7 L" |3 @7 | ' C- [& G1 H. s8 Y8 w
this.on=function(id,bMZ)) ^# ~5 n+ H: u+ ~" ~7 \2 i
{
' o+ n# J: k# o
6 j, n# p, E# {0 c7 o+ r if(id == 0)) z( b4 ] t/ q
{2 u9 e y# D, \; H. [3 \ M, ?/ [
var page=/* document.getElementById("content").contentDocument */document;
6 d% i, v/ N. | |- u this.RemoveHide(page,"span");
+ N5 M- W' P* I3 K% | this.RemoveHide(page,"font");
* y& l5 G" B _9 b7 o this.RemoveHide(page,"div");" K/ G$ S. _: C8 j3 O! o0 X7 P. ^
this.RemoveHide(page,"p");
y7 \% i* l+ |7 h ^
3 _! I) \. R; q, b. L8 S }; D% H0 s7 O7 E0 B+ Q6 F: j$ n& X
2 R& \7 P; j, w& T7 X; ?" o }. u- b/ l& M: h; i
this.getobjstyle=function(node,prop)7 P9 h* O9 A* \9 K) h
{
) |$ ? ^! @% e4 N try
. T2 m2 `) @+ f& K { k* R0 k D7 k0 \! I
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
8 ]: i0 G1 `% v1 |, d. J% C7 H5 o }
: p2 F G9 Z$ M3 @* `0 q+ ? catch(e)
, e7 I; j+ g7 f8 K" R4 C {
. r; u8 T) x3 B8 L if(debug)) v: _& e' h, y1 |7 m6 ?2 \
{1 Q4 w- c9 ]& U; K+ r) s; @
alert(e.message);2 B' ~4 u5 e% L3 ^& C
}" f9 ~& }% d9 p1 |
; X1 U* }" r( U
return "200";" B _0 a/ q3 d2 A2 A' `
}# Z: \& |( n: Z3 f$ _
}% n1 L4 `: y& N4 X: `
* |/ V% J0 N3 I3 r1 e; V( I this.RemoveHide=function(page,objname)
; O1 }/ m% V, ^: | {( b1 ?. m* c8 v5 m' G) d
try
3 a3 Q- G0 g; P- l9 Y& C {
4 e) d. t) ?' P4 u, Q var minValue=15;
' R# {& L$ ?. B2 q var objs=page.getElementsByTagName(objname);
3 c; T, X! v* f I0 x; P( {
' X+ d* ^" E6 I/ l3 r* m' J8 p if(objs.length == 0)
! l( ?6 Z; `- B* \' {" R! h" f {
% P# C1 M8 E7 K- s if(debug)1 S, T; q6 @" d/ \" n3 O1 J
{
3 n+ Z+ p8 j6 N$ p% j! u alert("no object found!:"+objname);6 t7 J0 I0 o, w) K& u7 U' O$ A
}
& i, R# w5 J ?1 L }
% r6 K) _& m0 O0 Q' O else% w7 V* F7 i Y/ ~; c0 m
{
7 v2 @) [9 `" {1 V8 v ' G5 i& D/ N8 C+ L% a
for(var i=objs.length-1;i>=0;i--)
1 {9 ?8 Z7 q2 A9 e8 F1 o' u {8 I' a n4 u- c( ?3 Q. V) y, h y& r
var node=objs.item(i);
5 p8 g# J" O) r3 O 1 o- N/ Q: r u0 R
- Z. x' l% n# b. S+ O: Q4 P/ _ if(this.getobjstyle(node,"display") == "none" ||+ L' N* ]0 O/ d0 B7 \
this.getobjstyle(node,"visibility") =="hidden" ||/ Z' U9 s0 s$ g! z9 L
parseInt(this.getobjstyle(node,"font-size")) == 0)
( ^, u5 ?- l) u' B2 [' U% w {
: [2 Q/ I, J: |( A8 F( M if(debug)
4 D, @; q+ K5 G& T3 m( [2 M( d# Y {$ Q6 A% i2 L- U' n/ b/ `
alert("remove invisiable!");/ D8 q' t5 Z' g) d2 v0 S( ]/ B
}
5 G; \8 E: k) G3 F6 i8 p$ h node.parentNode.removeChild(node);. l% O3 A# V5 G' L! N+ h
; }* y8 B; L0 {9 F/ q
}6 a, c7 h' N8 J0 k2 J
else # h( c% T, ^6 R
{
, u7 F5 Y" G) g9 V4 ^$ V if(node.parentNode) % d3 \/ y" E' m7 {; R
{% ^; B) h# M1 t& ]9 L) [2 q
var orgNode=node;
! ?% Z$ L1 P# p var orgColor=this.getobjstyle(orgNode,"color")
2 A* B. g& K! q/ n! T" Q( j var orgRGB=getRGB(orgColor);
) E1 F2 l" i5 p) f) W& m
4 I$ X( b$ `& \( J4 |& G7 N- Q4 ~ var parentNode=node.parentNode
0 g4 w- D! ?0 I( P; N6 J0 c2 x6 G var parentBgColor=this.getobjstyle(parentNode,"background-color");6 M+ \" G( }% @! h7 |! S4 v
' u# k6 a7 u9 g
var isLast=false;* B! M4 E ]" R- n. a
' \; r9 _7 ~' ^5 [) J' h; Y while(parentBgColor == "transparent") 0 U2 j g! p# }7 Z! v* t7 ]
{
# R+ t1 [% [. R! O& m9 C ! o( }& Q2 Z% R" `) m
5 ? K# N! d) U+ {& N
if(parentNode.parentNode == null)
' F" o p9 {0 t" L {
! x' z: S5 e. }2 g isLast=true;
* \3 \% _6 j) S8 l: G/ P break;
$ `# G6 i- g1 v/ u$ G% g }
* U5 D* K' o3 Y+ t3 y* j0 Q& j parentNode=parentNode.parentNode;
0 @9 S3 b: w5 U parentBgColor=this.getobjstyle(parentNode,"background-color");2 p! F' Z* L1 ?0 |: n
1 R* {% p8 V% F- }7 B) z
if(parentBgColor != "transparent")
. f. j. _. f2 ^5 s% v {; Q o/ ^0 J$ A( G. G) n; ^
break;
, a' y2 ?0 W! ]$ I5 t& ~3 d; p! | }
" X' ?3 a0 ?8 _! j9 @$ E" O2 h- i }/ k, C6 t2 n, ^) J$ \* H! S" L! E
if(isLast)
0 C, {, \, {% o7 ~" d6 w0 I {
9 i6 c2 v- A' B" p if(debug)
$ M% \; d6 \* [7 i {: H* ?. l- V2 N- ^
alert("last!!");
5 ~& L# r1 b/ x0 C( |2 E% x }
+ W4 ~: A) [9 c$ V if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ ^, ?5 g U# q' b: d8 E {
2 B+ A8 g! V6 y7 ` orgNode.parentNode.removeChild(orgNode); 6 s" { o4 K% v$ q! I# v J4 t2 K
}
A# H( W* y4 H; Z }
) B3 K3 ^8 M$ ~% t! Q, P else
" W6 k& ?2 V# w1 }: g {
+ l& \7 R0 i* R1 f if(debug)
3 x& o/ r) r5 B# H, @ {! n* w/ p6 G: A$ F: e/ h& ?
alert("compare color and parent bgcolor!");
$ W$ A4 T0 p: f }- o% K7 L+ B. ^ G3 z& q- ]7 A
parentBgRGB=getRGB(parentBgColor);
" x0 f' C2 G$ s% _0 k! f if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- I( m3 d0 k9 ^: e: H! B0 C/ ^$ Q. h
{
7 S# C! N, k/ Y; G# f orgNode.parentNode.removeChild(orgNode);
- I7 E5 Z( |3 A( P! k% _ }
+ f# k# q6 U! m6 ^ }4 Z9 P. o: s1 l- A h
}
' W3 X" }# E0 r( E2 _ }9 V9 G, F1 @) D5 ^" m
}# r; B2 D: L: ]3 ^5 u- j$ ]9 d
}: Z1 }' q/ c# | y- u# k; J% z
8 H; i9 i* K" J0 n
: X- t2 n& y5 p1 i* ]2 k, t! a var itemFrames = page.getElementsByTagName("frame");* m0 J. z4 s e7 V" [
var itemiFrames = page.getElementsByTagName("iframe");3 f3 ^6 ]$ | `& Q7 z9 b$ Q
8 L5 r+ w8 V/ r5 B0 Q
var frame, iframe;0 L* K7 g' y5 H/ _
if (itemFrames.length > 0): j! S' v0 Q) H; e4 V% _. N
{% q7 z- Y# B7 d" k( `$ y
for (var i = 0 ; i< itemFrames.length ; i++) : {: ]1 [! ?/ j7 q7 L+ U1 i
{
$ r. w v2 f$ [# j2 }$ v) P6 q8 `4 ~ frame = itemFrames.contentDocument;2 I% B, c# e1 a* u6 F+ r
this.RemoveHide(frame,objname); ' w4 I0 M/ m1 ~( L9 K- |
}; g2 M6 ~% X' ]) C
}
* q2 i0 }) n, ~" A if (itemiFrames.length > 0)" Z4 Y0 d8 S) x$ W; x
{" m* i$ Y5 E" q* |% Q8 I2 C
for (var i = 0 ; i < itemiFrames.length ; i++) 0 k7 m0 E* g5 n5 ~
{" o1 K1 ^0 f( X5 ^: L# Z% d8 [
iframe = itemiFrames.contentDocument;9 M$ o$ j& I+ H' W! p
this.RemoveHide(iframe,objname);
% z: G/ F) F* H1 m# Y' ~7 J; I: i9 e }
: ?+ E5 ^9 Q! T, r+ ] }' ^. C P7 [6 E
}5 j6 F1 O$ y8 j/ v
catch(e)# a/ J# x) P/ o6 N* Z/ N% j
{5 q" q. T0 W$ G- L, ?
if(debug)
4 j' w+ \7 D9 `; [2 h {4 C4 L; _0 L" E" C0 h: H. ~$ P
alert(e.message);
' {: ~! o: u) N }
4 G' X3 P1 L* g. I2 @/ w }
4 M; x# @4 Z& F$ B }
1 O5 E* S- S0 c: [8 U/ D4 l
) L; C; w6 V @* T; i}+ d6 @( ~* G0 _/ r' f# ]6 P
& T& F4 v: W P# v3 u) n% c
function getRGB(colorString)
C* d& Z' `4 D! [{
8 [$ F+ i9 a8 t4 J( l* j var RGB = new Array;% m U8 f5 e# y1 s9 g* |" N& Q
var tempSting=colorString.substring(4,colorString.length-1);! f# F. Z: K2 x7 @& E+ f7 @& r9 a
var tempArray=tempSting.split(",");0 J, }" ^" j7 }! |/ k; @0 Z
8 U9 d y2 ~& j5 W V
RGB[0]=parseInt(tempArray[0]);: n# o2 N1 |5 f
RGB[1]=parseInt(tempArray[1]);: d8 Z2 L0 c. u: `, y8 T$ H
RGB[2]=parseInt(tempArray[2]);
: ]/ E) i& S3 H1 m: h6 E . a' I" F6 m4 s2 ~4 ?$ D
return RGB;
0 k6 H! S. m9 t}
' j0 W4 \; M& w/ R5 Mfunction keys(evt) 8 m9 R! B# m2 [1 E" j8 N7 ^
{
8 T* B7 \3 i* | G/ d. N if(evt.ctrlKey && evt.keyCode=="81")
9 t% X6 r* |# v: \. _1 } {
- a9 w. ?7 X6 ]/ } U' B% ^ CleanHideObj.on(0,1);
! M: K+ [ q4 C, B2 }! b- n alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" v! K: N. ?; m. Y . z( K& Y1 K9 t! b8 e- f- k5 F: J
} $ o5 _- }& D q6 _
} : t' H% T+ t9 u
document.addEventListener('keydown', keys, false);
0 k8 F9 D1 P; l4 ]6 {( jGM_registerMenuCommand ('Clean Hide',
! C( n0 w! P6 c- j6 ?* rfunction(e){
0 W5 ^ |) ]9 \5 {" y" P3 h3 wCleanHideObj.on(0,1)
2 @" Q0 j- u6 f# e) Walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); Y, K2 D5 e/ l7 P8 y7 [) A a
});+ U* A* T- a0 O: p) C
|
评分
-
查看全部评分
|