|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 r- ], }0 ~' g$ n* Z
0 W$ E' t) L# C* j8 f8 o4 X5 l% ?火狐插件,用猴子* L( A" W$ o; t. m/ G0 I& ^) |& \( Z
/ Y2 o2 L$ V; u2 V: e$ w& r" tvar debug=false;
' H) S; d' W; e0 p$ Dvar CleanHideObj=new CleanHideClass();+ N# y0 i; h5 r+ \+ n7 G2 C" l
; T$ X1 j5 {1 A9 p( R I* nfunction CleanHideClass() $ ^* e9 }( D. `2 r
{ % v0 r" l0 e; j1 [
+ Y5 s# l0 r' [. F) ~8 k
this.on=function(id,bMZ). A0 v# D. a4 b
{
v" ^7 E" z# O6 V0 ? m ; }' V: I0 S9 M a* c& M P2 N
if(id == 0)7 w. y( d K( f' u3 w, M0 j" P! X/ F( s
{
+ L+ f7 P6 t9 I* f2 ~0 K1 V4 s9 o var page=/* document.getElementById("content").contentDocument */document;
* m. i. {& B4 L- S% |, z9 v this.RemoveHide(page,"span");( h& c* H: r+ u. \
this.RemoveHide(page,"font");
2 d N2 P( T3 |/ T' ?6 o$ w this.RemoveHide(page,"div");
8 x$ R4 |, I5 J0 U, {5 j9 Y this.RemoveHide(page,"p");3 t" C. Z8 ?% I# o
y7 r5 S; k8 R: U
}
: k6 d3 k' G4 y, m$ ~ - m7 `7 T1 x# a& z% O
}& \; q6 b7 f- O
this.getobjstyle=function(node,prop)5 U0 G% V- F( n# l
{, }) ]$ y! Q* c9 n
try3 `1 Q! @6 b# [- n, I
{
# q0 W o/ i+ |2 {' L3 @* l return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);4 O6 p' G1 t+ u; e
}
0 W" B6 {- n9 D8 Z5 | catch(e)
# z5 e7 d- Q4 }; I. E: ~ {
' l/ x5 |- S! \* O; J# w: v if(debug); p9 m; ^/ y, y" B# \
{
) R+ J9 G$ `7 o, _. }. y alert(e.message);
& W/ J6 a) _) _: _ }
" B$ ~- m6 W7 W9 U, E. a 1 m3 P/ E C& e. H! R. E' w+ V2 \
return "200"; V- C% G* o G0 B: }2 d
}! Y# R" s5 _& F) m5 O# L4 s; O
}
- U+ E5 u: H" B0 B8 q3 m 3 b8 A! [+ E; T' O# ^/ i$ l5 Z
this.RemoveHide=function(page,objname). q) V3 N3 Q4 g. b& ~4 {0 U- E
{' c) l9 z$ ]/ A( F e$ w& q. P
try/ L% y& U+ R9 {0 `2 i
{
y6 U5 A! [2 [& u0 F. [. i2 y var minValue=15;
/ F; f6 x! e3 m& T6 m1 n var objs=page.getElementsByTagName(objname); ' s- {$ O* |8 j
4 Y0 U& v- P- P! q3 G& U0 U q if(objs.length == 0) % W5 o/ U7 Y1 w. Q& x" d
{) Q: o3 @8 e/ B6 w
if(debug)
& O- V% @7 e9 M- t0 T$ b {, O+ J. d. O6 S; y; K
alert("no object found!:"+objname);9 V% q" ~2 I, W1 a1 T7 c
}
7 L( K5 X' [' }% W0 E }
! @ F6 e; q3 Y- f$ Z else
N$ a( p0 K4 u1 |4 [6 |7 g j {
: v5 |* g; s* D- t; e2 l : @' [" @. W# s1 A
for(var i=objs.length-1;i>=0;i--)
& `# C- F/ o$ y+ F {
J9 _; z2 \8 h) w& B4 @ var node=objs.item(i);
% b) {: Y0 G: N. N+ k
" A2 k: m* v/ n 1 A- j% v3 e- ]& Z: o; U
if(this.getobjstyle(node,"display") == "none" ||$ W* @! p4 ^" E; b7 Y) i [+ a8 ?
this.getobjstyle(node,"visibility") =="hidden" ||
9 E3 g# w, b1 ?3 W* b9 o, |% Z parseInt(this.getobjstyle(node,"font-size")) == 0) 2 q) h' s. [3 z; V, {7 I
{* L$ `0 }' q" U5 c( j5 }. j
if(debug) S$ j- e. ?5 |; u5 s
{* z t$ N$ u! M @
alert("remove invisiable!");+ ~! \8 u; M9 o* A$ s9 ]* z3 _2 f
}& o$ z+ [$ u2 _% E; [, N
node.parentNode.removeChild(node);5 X6 [( ^6 N) X( ]* \' t
0 M3 K, Y9 P9 R3 F* T+ ?; y0 O }' w! [7 J/ c% j `
else : u- {8 j ^- _$ }; v+ h! s a) b
{
) J" e2 r. A3 O% n7 ?$ B, C if(node.parentNode)
, n! k$ O( r# W9 }) q1 ~/ ^ {
5 w4 e m9 L1 Z6 T( e1 x var orgNode=node;
5 u+ N" ~3 M5 \" S% _ var orgColor=this.getobjstyle(orgNode,"color")% O* S& y% k( w V' m9 m* q+ r/ L
var orgRGB=getRGB(orgColor);
- j- g- N5 ]' m6 |. }9 A) v
) S& [. ]. S8 `1 [$ E var parentNode=node.parentNode
8 ]5 @0 f, R: T) O var parentBgColor=this.getobjstyle(parentNode,"background-color");
V, M7 a! B1 I& |% U! V W0 O
5 a7 `) u; R0 x# h& q, t var isLast=false;
; Y, ]$ N0 r* d) a i1 k, N 2 N4 N9 O: Y9 W* b ]$ X6 c* {! T
while(parentBgColor == "transparent") 3 }- @8 X- [8 g( k! Y
{9 q0 c; s: a- q, j4 ^ D
4 m/ m, `9 [$ y) \' [# g
. f4 U+ c& j% \4 {( C2 |! i+ f if(parentNode.parentNode == null)
) |6 \" ~- _; l/ N/ N- w6 Z {
9 R4 ?( b) w& L- W; B* J isLast=true;
$ ^! @' m- _# d5 b1 G7 y3 s break;
" j- Y8 L2 o& g' C4 H { } Y. E E- ~4 `1 x9 E
parentNode=parentNode.parentNode;
+ H! ^; O b7 ~ ?4 f, W$ C parentBgColor=this.getobjstyle(parentNode,"background-color");) U0 e) B/ U) I8 w2 ~! R q% B# I
B7 Y. }4 K: b/ A if(parentBgColor != "transparent")
1 C8 @* v) ]4 o Y7 \. F {
/ \$ z3 u2 \) h, a' P# q" d0 V break;
4 a- `3 I, c h! f }
% x4 o: I6 \1 ] m }
- ?, a9 ?+ \ F0 K3 P5 F if(isLast)
l( d5 C( ]5 L. B8 i! r+ U0 l {( G# c# b# g' B% U
if(debug)
' I3 Y( Z7 `- D3 B, w {
& F! l9 m, H) P& S5 {, p4 H) W alert("last!!");0 h+ r1 f1 E+ O
}4 v. B {1 Y& ]5 X( ?) H7 A/ i
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% {4 j) O/ e) ?! ?. N m: o {" S4 L. K3 S& G
orgNode.parentNode.removeChild(orgNode); 2 c6 }$ C! }5 m) J/ E
}$ b: U* n9 l/ ]( R, t# a% D& d
}/ a0 t( O% h& f8 A6 A; x2 E
else
- m* C4 Z: }1 y# K" x( [* [4 ?; a {( H$ D, I n2 n, g1 R8 K
if(debug)
1 [" Q8 J6 d% m; b {7 c4 k; ~0 ?4 B! e7 ]
alert("compare color and parent bgcolor!");
1 N+ ~6 U) U% P/ `1 g }
( x0 ~: }) y ~8 [ parentBgRGB=getRGB(parentBgColor);9 |1 T1 u2 H. Y. t& d! ?
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 |9 U6 J/ e# J. e
{% h9 T2 h1 u8 G, p4 q4 c1 v( `9 O) {
orgNode.parentNode.removeChild(orgNode);
( W( \* e4 Q4 g8 d9 K8 y }' q4 k, H/ A( _# i( m/ }* b
}1 T" t9 |. f7 ~) F4 \% k
}
9 J& z4 _7 p- h1 K/ h }0 s7 g: H6 }% i2 @; P
}# K5 B8 r: A2 k, h
}2 F' \! H, y, x1 ^
2 N+ U+ E) H1 W v
6 x4 U$ L# X0 T! ]$ x- p var itemFrames = page.getElementsByTagName("frame");
: m+ p3 Z. h, | var itemiFrames = page.getElementsByTagName("iframe");
, E, p7 h5 s9 _3 O3 m; o
5 C# |" o' x' Q+ D: V9 ~ m var frame, iframe;
; K) I5 R- v: v; j6 n% d if (itemFrames.length > 0)- B2 m! s7 j# H- f3 C
{: e3 K5 o6 n* ]5 W5 X
for (var i = 0 ; i< itemFrames.length ; i++) % M+ c+ I, q) o! n1 f
{
- ?' |! Z: b7 t: z! T. A5 @ frame = itemFrames.contentDocument;
# _5 ?4 y7 V/ {) \7 P this.RemoveHide(frame,objname); 5 d% I7 r* D5 ]
}
! h" o# @' H A& t }
$ m! N6 G6 u: r, J" o9 [* J if (itemiFrames.length > 0)
/ P" A, @$ o$ d3 `' s) M3 h; U {7 U" m" V) S0 s
for (var i = 0 ; i < itemiFrames.length ; i++) : W, K3 |' L( C( d) E0 D! I3 H, K
{+ ?0 v. j5 F! `9 w# h6 k# U
iframe = itemiFrames.contentDocument;
+ J$ {+ P; ]8 N0 H& g5 A0 |3 o+ C this.RemoveHide(iframe,objname); 8 S6 h1 t( F( ~& ]
}
; ~6 S) r S2 u6 q& b# d! [9 n' H }$ d, t v1 I/ `/ c, T
}( ]# Q0 y5 P }7 `2 Y) G3 q; J. N
catch(e)% L1 a" `. A6 u2 X4 ?& K) t, [ D
{: ~( x' p# J& Y( C) q3 _
if(debug)8 B6 z2 d' X' k+ J% c V7 p' g7 A
{3 n6 v! b3 B& b! H1 ]2 y6 ?5 H# S
alert(e.message);
g! X f5 ]. S- N }; t6 o7 H9 r) E* z1 Q
}+ ^ V: K' V+ X: c* a
}
7 C5 T* ]8 c5 w . ?; y1 _2 U! D5 d
}; f+ F" k2 r/ J: \8 T' j! v
3 N- p4 {3 W8 D8 w4 l c6 Qfunction getRGB(colorString)
6 o+ g& \+ q4 N5 s{$ m4 o7 p0 D- i0 X. i5 ~5 m
var RGB = new Array;
6 ]9 C3 }6 }+ X var tempSting=colorString.substring(4,colorString.length-1);8 `& _. L7 u0 u: U+ ]5 Z
var tempArray=tempSting.split(",");4 [$ Q) u1 x @- n6 c" q% m5 K% F
: P% V6 ]6 @8 i# t+ e, F RGB[0]=parseInt(tempArray[0]);0 C4 d9 ~. R9 O9 H3 @. H# Q! h9 v# M
RGB[1]=parseInt(tempArray[1]);) o* K( P; s, C" v0 N# O
RGB[2]=parseInt(tempArray[2]);
+ C4 P2 b5 F( \
$ f5 a, t3 E) l2 O return RGB;) {2 {6 M# O& c1 {- A1 I7 Z
}9 B) b( S e* B& D e- c
function keys(evt) * ^/ L2 N: T0 O5 ?- D3 m0 N% v
{ , E( _- p! _& {7 y( G' N* \4 }
if(evt.ctrlKey && evt.keyCode=="81")
6 S( s& W( K1 x% ?: q0 h# |$ _# h" @ {
: \' s0 f2 B& A$ o1 B, O- u CleanHideObj.on(0,1);" ?& H+ N+ H: N! H/ `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) s5 E) m4 d) d9 G. Y2 e9 r& K
3 E4 f% D! C. F$ |2 V
}
% K$ ]; P! v0 B; G1 D2 D } ! |' z1 }1 ?7 ] ^: H
document.addEventListener('keydown', keys, false);
; n2 Y& R! {# x6 `3 aGM_registerMenuCommand ('Clean Hide',
" \; K& w! b6 \' _4 e! n5 Z* U7 sfunction(e){3 y* r G' C, r, A/ z
CleanHideObj.on(0,1)+ {1 c4 ^5 e& o. I4 {. C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 G8 @% @) ^2 E});: j E( x7 a2 h3 s
|
评分
-
查看全部评分
|