|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 v, ]$ B. Y1 h* g
' g; U6 ^, A) H! z' [6 I) P火狐插件,用猴子
" ~) y# E# p: `1 M4 `( V$ [, C w
4 U& a) J; r5 `var debug=false;
2 m0 j: y+ h8 Z& W1 Ivar CleanHideObj=new CleanHideClass();
. D1 o; m' `# [2 v/ J! Y
3 |* G+ j) k1 C4 W; rfunction CleanHideClass() 3 n' u% |1 f3 N
{
2 ?# B5 d9 e3 B" q1 p- [ 9 J: @$ I! O! p# X
this.on=function(id,bMZ)& }0 R# F, p$ Y8 K# c
{
" s; I7 ^5 e. A7 c5 p# ~ 7 ]7 ?7 C: _- x2 _9 X1 Y+ ]! W1 O* ]
if(id == 0): } M0 w& B; c$ d# Q
{
5 t% b! y% F8 C% A& j: \ var page=/* document.getElementById("content").contentDocument */document; " Q. U5 h3 Y" ]6 Y' k7 L& n
this.RemoveHide(page,"span");
# m( J* p4 b( K5 a this.RemoveHide(page,"font");4 d# u) E F7 y9 ~5 Z4 r3 ^/ v, n0 o+ ]
this.RemoveHide(page,"div");$ G& y+ j1 p2 U& ?2 P k
this.RemoveHide(page,"p");
! u+ G5 `- J3 ]2 V4 @1 o6 {! f + l1 j! ]; M# {' S0 G
}5 e; Z9 |1 p( G" A% J
& A3 F) k/ p5 T3 |; |
}
; X9 i* m. D$ T this.getobjstyle=function(node,prop)5 e0 ^ m' B- J- v' L* x
{7 n) a' S0 l+ q& o8 d% `3 G
try1 g5 d2 @1 O% ? z
{
, ]0 |! n! l0 y3 p3 c return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 ?/ v* Y' B2 N- ]
}; q6 x1 m9 M0 _& P, K
catch(e)
2 T# }& m1 r4 \) N0 n2 y+ U {% T, L! E7 Q' o' u
if(debug)
4 _: X/ D* n7 k9 i {
) f0 T9 c5 [4 ?( b2 B4 V alert(e.message);1 g7 K* ?1 W+ R, H h7 l
}
4 s4 l; G8 G+ D, i# i+ ] % f1 x1 o2 t% k$ u
return "200";
5 F7 F( X2 K F }) [8 o# F7 @! x! L4 C
}% X( \/ ^9 g0 ^* w& S% K
2 e L* D9 T3 W9 P* b9 @/ h# h- I
this.RemoveHide=function(page,objname)
2 Q: F: K# T% r7 S6 W. P5 c {" S T8 }. P" C) n6 f
try
. v5 i3 G+ {1 J* z |9 c {
# a* X! z" P. U% Q, K- o0 Z var minValue=15;
% M/ W+ f! {/ c% E: h var objs=page.getElementsByTagName(objname); J8 Q7 I, W6 y8 Q4 W
1 w/ L9 u/ N! Z
if(objs.length == 0)
& w. z% M+ b/ x" H' ] {+ r5 I; ~, `9 z/ U) x0 R+ c
if(debug)& O" f3 ]- K& f. e: I" O; o; Z3 R
{% L4 Z$ }8 M. W
alert("no object found!:"+objname);" s4 D& c% }6 R# c" W( m
}
2 U& I1 N" U0 `7 o: ? }' a9 e: L$ ^7 V1 A1 f! `8 n1 p# n
else$ Y B8 k+ A/ Z! Y
{
1 g, Z }1 y9 q9 C% m8 L 3 X$ l7 F3 U& @. m
for(var i=objs.length-1;i>=0;i--) ! Q5 Y3 ]1 M7 C/ h% B
{- Z( [% k$ c5 v2 V+ B0 K
var node=objs.item(i);
1 U. d9 H( {8 K5 y" R* o1 K" g2 R : z$ x# m) w9 y; u L
# A- V m6 r9 i- } if(this.getobjstyle(node,"display") == "none" ||
* x% i0 k6 M# S this.getobjstyle(node,"visibility") =="hidden" ||8 D- {6 _) c2 B i$ r. m3 _; W
parseInt(this.getobjstyle(node,"font-size")) == 0) ( P+ B" t( I& o" ]
{
$ y. J9 d% E/ s8 L" ^8 c/ {; ]4 @1 u9 a if(debug)$ k" x! P; R& E% |/ r$ x& g8 e
{
/ O- s: d1 K$ j alert("remove invisiable!");
1 K/ `6 B) B. l0 _* R/ V5 w }! e. ?+ Q9 ?+ ]: O1 @) _
node.parentNode.removeChild(node);
2 v0 U2 U1 }1 Z; b; Z1 u7 ~9 `
% h5 m! y% r' c7 w B }
4 d R6 K* ]8 ^1 ~5 i else % u. M3 [( I4 h! ]% b7 |
{+ ^) T) N1 _' `; c
if(node.parentNode) . c% K- n( V; N; m# X7 s/ s
{% w \: i* n u' G4 h
var orgNode=node;$ z0 R4 o" W9 i, m
var orgColor=this.getobjstyle(orgNode,"color")
! L% K) _% F/ | var orgRGB=getRGB(orgColor); & ]# V2 R# k u+ @! ?. c
2 x' w% S# n+ _
var parentNode=node.parentNode
2 H$ F5 ?3 w1 _5 M- W var parentBgColor=this.getobjstyle(parentNode,"background-color");
' ^# Q4 V2 W) s1 L# u/ H
. O8 S2 |3 s3 G+ u7 X+ ~ D$ n var isLast=false;
9 O! w8 p$ `! Y' ~, Z% g % q: x: R( J, m! O
while(parentBgColor == "transparent")
3 G' Y' A: w; n" Y, c* [ {
: Q8 I: m; E A9 g6 z" |
. D+ c# M0 Z' g/ w
# X% b8 b. T+ d) t! O( C+ x. n+ ^3 M if(parentNode.parentNode == null)
% A* l4 g# X% e {
! X; ^0 a2 m/ i5 S0 E isLast=true;
2 W+ u$ d+ Y* d break;- Z# {) Q! S; e
}% N0 S5 N) K3 O6 S3 G
parentNode=parentNode.parentNode;
- d* j, O! v+ o" u' _ parentBgColor=this.getobjstyle(parentNode,"background-color");1 J3 b4 q( l) M( M! X
5 a4 u; ~" s8 \% R if(parentBgColor != "transparent") * z5 J3 _5 z k2 }+ d& W
{. e% _+ e3 M& j, H- s7 K- B' o: a
break; C/ t: }# f6 k$ H7 v" k
}
# l% u1 Z, }& T/ S+ n+ |. E }
U3 O) d3 A/ A Q; E4 N9 N; R- _7 S if(isLast)
& t( I( ~/ `9 F- i* K/ v5 Y5 t- U {
% P: Z6 E* C/ `. u if(debug)
, L9 l; t6 `9 A5 P; J2 z {
: j6 A. ^/ v' A alert("last!!");1 ]% Z, F; i' G% l' `: _4 f/ h- ^: p
}
5 }. ]* m7 i& g4 D& ]0 i& O if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* |" f7 `* O8 g {
; m4 f3 H6 i* {: D& f2 A orgNode.parentNode.removeChild(orgNode);
- t( [0 |# s9 g: [3 F7 r9 q }6 U1 J. h; E7 D( |3 G I+ v! V7 h
}
% ~2 D' e7 p% m, q else
2 f: D) r7 A4 b! Y {. p# f3 A, r$ R" u6 {+ I
if(debug), O" P2 |$ o7 k0 y
{
6 S( F4 b: j- p2 p$ {! N alert("compare color and parent bgcolor!");
# P- R) x% }5 y- o }9 X1 U$ A7 F( ]
parentBgRGB=getRGB(parentBgColor);6 T2 Q9 E# ]+ R# I
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)); [: y/ W3 ~9 |$ N9 w' m# P" o- A
{
& n* r# U4 S/ l$ W6 k orgNode.parentNode.removeChild(orgNode); " d/ s4 b# ^% Z( ]4 [
}
# o! ~; `& Z+ N0 W, k+ y* B H }
( g$ \. A+ a* K0 }) e, q }
" \8 \7 P9 g3 o9 t5 S& C( U }
3 u, Z/ I6 j+ y% E' e, W } ~, o" Z; C* S" r
}
$ X$ Y0 N8 N* w& i
- c/ B! Z9 S, \; ~# `/ Z, e
" ] Y! j% x( k+ W var itemFrames = page.getElementsByTagName("frame");# a, _7 Q% [5 _: f4 S: A0 P
var itemiFrames = page.getElementsByTagName("iframe");
0 b) Z: r3 K8 I/ o & @3 d$ b( }9 K0 `) W7 ]
var frame, iframe;
+ u( z! D. g" j2 h1 R if (itemFrames.length > 0)! {* V2 {- [: G
{
+ r7 m3 j6 I, F/ y# D" u' \ for (var i = 0 ; i< itemFrames.length ; i++) / d" w5 H1 |/ w- o
{! H1 M/ Z$ K( W- \+ a2 [
frame = itemFrames.contentDocument;
% p% v2 n( E: b9 ?3 I3 v this.RemoveHide(frame,objname); ) y& M8 a; I% f7 m
}7 s- l9 Z$ w( F( G; a0 B
}
3 K/ r& {! e2 \0 H if (itemiFrames.length > 0)
/ s- y _/ |* X {
0 f3 y$ O: M- [2 k for (var i = 0 ; i < itemiFrames.length ; i++) - k3 P9 N1 R8 M9 Y6 I3 W
{/ E! S& D4 d4 w
iframe = itemiFrames.contentDocument;) Z* Y. D4 w) j: d0 P" S9 M3 `
this.RemoveHide(iframe,objname);
y- a% ^- i Y( U }- I q G3 X# Z$ E! w; g0 e- ]
}6 `& H# e: i6 g3 } j
}* x( ~' H# B" L1 g) A
catch(e): T0 c% I ~5 _
{2 |, d/ `, l/ v6 H
if(debug)
! i, I3 }1 L% @: a {7 |$ G# M4 i" i2 S+ M" ]* P
alert(e.message);
$ G- i# S$ c: f- R }5 t% p$ @4 b( q6 q+ u5 O! D
}
! D) Q9 k7 K: E; }. F% \: @ }
& U' a: f! r) t8 t
+ I! [; s+ w2 f/ r' \. ~}
4 p2 X9 ]% ~1 a) [- X5 ]
, j3 c% ^: y3 o; T# _function getRGB(colorString)
9 ]6 T; b+ [$ [4 O2 z5 c{4 F" Z$ o5 @) A5 P
var RGB = new Array;- [( q1 W% F; p+ W
var tempSting=colorString.substring(4,colorString.length-1);
# y/ t: q) o9 J# H9 C) _% A. S var tempArray=tempSting.split(",");5 m2 y# K" y7 Z" K) u
- r' [) n# q9 x/ N8 |
RGB[0]=parseInt(tempArray[0]);' z2 \) c6 b& P
RGB[1]=parseInt(tempArray[1]);% C) k1 n/ n: o \9 R
RGB[2]=parseInt(tempArray[2]);6 T; K' P" A; c
. [2 Y0 g- G: A, ~' Q( j" x7 [; h return RGB;5 d- H# H1 W7 ?) J" U) k, F
}
6 Y z3 {+ T* Sfunction keys(evt)
( y6 A8 T1 A* I8 U$ x2 t7 Q7 H4 v" g I {
- ^ X4 Y8 u/ W ~: _ if(evt.ctrlKey && evt.keyCode=="81") u- d" I: H3 d; i& _: u* B& m
{
/ w2 r8 n1 \# V2 o0 F7 i8 G8 _ CleanHideObj.on(0,1);
3 A/ P4 m- z z2 n5 I( E alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
X4 `$ n9 h' P% r) h
# `4 P- l4 V" g: a F8 I; S } ) d' j- j7 `: c- K" b
}
2 t" E \ |0 Q- }; ]5 Udocument.addEventListener('keydown', keys, false);
: C! ]- r6 S& J" S, FGM_registerMenuCommand ('Clean Hide', D# W: z; e1 A, R
function(e){
0 B$ n% [' P1 i5 UCleanHideObj.on(0,1)4 L/ d8 D+ e" r3 y/ y& O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" Q) P7 L( t& |0 v3 e. g});
& g/ E: A+ i5 E$ M$ I |
评分
-
查看全部评分
|