|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) n" R, N; a2 F
% W- K3 u) ?, c$ A* g9 ^火狐插件,用猴子
V; X% v$ `4 R/ `* Y" s
2 Z- I* N4 B" K0 e( k/ gvar debug=false; 5 \0 Q. c3 E0 @! X
var CleanHideObj=new CleanHideClass();
; n5 i4 X3 x }4 ]8 e
- X; d2 h. }$ Vfunction CleanHideClass() 8 V: j; J5 [; O9 f5 C7 Q5 x
{ + j. F- B, X8 M$ E3 |
( d1 P- Z0 E$ q8 y0 w4 K
this.on=function(id,bMZ)
& `' a* H1 L- H9 K: o7 g {) Z( t/ v' Z4 x, v. T
' L! D+ `( Z$ E* Y6 s
if(id == 0)
# G. y- ~; n3 |6 t7 p {
a1 r' H5 } f$ S7 P var page=/* document.getElementById("content").contentDocument */document; 6 T% ]/ ]' q* N5 O M u
this.RemoveHide(page,"span");
5 p1 ?( U- w x1 W this.RemoveHide(page,"font");
5 `, ?, Y) p% s1 j% F. t this.RemoveHide(page,"div");+ z7 B! V; ? ~1 v; N4 Y
this.RemoveHide(page,"p");
$ X: K& X& _8 D5 P 1 [& W$ N( I( W; W' f- X: H0 x
}" K j! H& K L8 Z/ k( ]1 W
4 {6 i4 [$ O! I5 J
}( Z+ K) Y- _; ^: ~
this.getobjstyle=function(node,prop)! @6 r7 M9 q6 w* n1 e/ f
{
# G/ t" b( p( C try
) f9 z. E( i4 J2 X/ G {. q2 o6 U3 O% {8 t9 O. V
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
% R* \" H- u4 U8 ~: z4 ] }6 f, \9 \/ J9 E- [8 p
catch(e)
' o6 X4 H" ~3 ?2 J5 s1 G {; i; d4 H/ [! L9 _+ H* Q0 ~5 ]- M8 d
if(debug)
1 z6 d8 k/ y/ D2 a w* `* h {
2 R: |, g! [; D! ?6 A$ ^5 ? alert(e.message);' b& p) k4 H$ r, y$ i2 I* C
}
% {! D8 w4 [6 C* v5 \- ] a8 U. A4 b0 [2 R0 k( ^
return "200";
[; V$ m, [* V5 H }
& M [" j# Q0 u- E- T( ~! U- ^ }- W( [' r- D8 i" p. z
5 \' s+ ^' d0 N4 k
this.RemoveHide=function(page,objname)
. ?! G8 }5 Z7 ]5 v3 v4 T3 T2 v# N {5 ?2 J) O/ U/ w8 P3 C1 F
try1 Q. L, y1 B H: h' D! [# X Z
{5 ]+ [ A4 m6 Q3 _2 O
var minValue=15;
1 D! A. L7 ? ]9 D8 r var objs=page.getElementsByTagName(objname); 6 w% {9 M0 _: i% h0 i* i& e
5 G/ [8 ]; ^7 F0 n0 p
if(objs.length == 0)
8 J, Z. m6 Z# n8 b$ Z+ x {
' T' r; n9 C; n4 z$ P! z if(debug)
* J) ?2 L- [( j {
9 v9 F0 ~" H( L7 j5 Y* M5 P Z6 t alert("no object found!:"+objname);# s6 u- J) R, o2 _: D
}
. O% D. N0 J; F o7 ` }5 s& y8 R# l* q1 S
else
/ A9 ^* p! H* |$ G {
# `# ]4 A( [2 w' F' p2 o& n, Q ! U, S! `) _5 h" f% r0 ]" O- H; {
for(var i=objs.length-1;i>=0;i--) ! W5 i$ V5 ?2 u" l, X8 j
{
9 M% ?. a# D, t# C- j var node=objs.item(i);
7 L! _# E& z: A( z
! @' R: x0 f4 |5 Y1 P1 P
" ~- H' u4 e" M7 D! Z& \ if(this.getobjstyle(node,"display") == "none" ||$ e9 ^! g/ y, A. X* Z! \
this.getobjstyle(node,"visibility") =="hidden" ||1 f/ k$ U9 m- y I4 q4 p9 j
parseInt(this.getobjstyle(node,"font-size")) == 0)
6 \ B$ k; s3 U# w& q" T {
" r9 t* i- T, N' L9 F- d! T if(debug)/ u% ? S" R: N4 s! z; c L
{4 a" ]4 u5 ]% m! l
alert("remove invisiable!");9 y$ ]" g5 t' C5 n4 h/ C
}8 I2 [& a7 x) p( g% B1 u' p- Y
node.parentNode.removeChild(node);
_5 R! B, ~ k* f8 k. C' @- O
2 |& W$ T# i* N }
+ }6 C7 b# x+ C1 O0 P else
; W+ g! y! x9 U+ b, k$ J7 P2 t7 L {9 ]( o6 U: `4 ?9 H
if(node.parentNode) ( m4 ~( Y8 Z) ^, n! n
{% f, c/ s8 A d' z# _
var orgNode=node;
- |1 W h7 ~) S e* T6 ] var orgColor=this.getobjstyle(orgNode,"color")
5 v+ ?2 {) I+ S5 Y% r( K& F$ K var orgRGB=getRGB(orgColor); 1 ~# X1 b* Z! _
y; n; t0 f# F) ]# r
var parentNode=node.parentNode6 K# p0 g7 c% f* W2 ~6 P2 f
var parentBgColor=this.getobjstyle(parentNode,"background-color");
) i, h1 ?: f( L* B; g
7 ~, K2 { ~' T, A var isLast=false;
, i6 C& G' p D+ g+ B + m4 Q5 g; ~8 L! m5 x
while(parentBgColor == "transparent")
# s( U' u/ x5 N4 P \) O {
/ u2 z/ N, A4 _9 i
( ~0 b; B3 E# y5 ?5 y& Y2 ~
/ J5 ?2 }% n6 q% h2 t if(parentNode.parentNode == null)
* I2 o; v; i& }9 q' s {
+ J, w P) F3 ^3 R# C isLast=true;* R2 X/ }! m4 F
break;
j0 z- n# x. B) ^8 W& Y% | }2 H, ~9 F& ~6 ?$ X! w9 B# a( ?0 b
parentNode=parentNode.parentNode;
2 O" i2 e2 {( P0 _+ ] parentBgColor=this.getobjstyle(parentNode,"background-color");
4 [! R8 A8 ?9 K! N, _) M N
3 y, P9 _: l" f; S if(parentBgColor != "transparent")
& n- }& Y7 n: k! S7 @' Q% g {& X8 @# P' C H5 z
break;$ y; [" w7 ], h' E u, Z
}! [6 Q* i5 ^# U( S
}
1 } }' J8 T1 c& e if(isLast)
; q# D, `2 I2 C, V {# a. C8 E: ?: H& c* v: Q+ |6 |4 J
if(debug)
! b" ^4 T" V: Q% J {* N b. n$ m1 ?2 n7 J/ A1 _
alert("last!!");
# b3 }( e( y; K }
; x% v2 O& F5 J) x5 g/ g7 k" ^ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) I# l2 x6 Q2 ]
{& n2 S9 `1 E- ?
orgNode.parentNode.removeChild(orgNode); + P& j( f. A& t
}
: s8 S4 W7 _+ {/ K }
& e% f% p( u- _; v else/ d8 j) C, S( T: \- ?9 k" o
{% d" X+ J) \( e! Y6 [
if(debug)& Q) O+ R, j' u& _4 n4 x) M# @2 o
{
. o+ b+ `7 t; V0 J alert("compare color and parent bgcolor!");
: x9 o( B/ m" B" q7 g; l }
; D) \( z9 K) \! A parentBgRGB=getRGB(parentBgColor);1 z$ ?, D$ m/ E. l; r; v' R* i
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' S6 y+ u( p- W* K' D8 a1 @4 W; p+ r8 ^: J {- \: V9 f, t9 r) R2 Q& P) i
orgNode.parentNode.removeChild(orgNode); 3 T. k3 k0 r) X0 X( F4 k
}
& w" i4 L' F# o7 Z }
0 A8 s: N+ w7 K' H9 X' ?" \ }! O: m0 p0 M3 `; _& J1 i
}
1 X& X6 t O0 j l2 i4 z9 Z. f }5 [* e* D: N( O$ E( x3 O
}
( B3 C' \8 o6 U6 l
" r! b$ r2 [$ j, a8 l" ^( b5 n" J
( F+ ]9 @5 T- N% d var itemFrames = page.getElementsByTagName("frame");
' ^. P" @: B7 M' N" m+ V var itemiFrames = page.getElementsByTagName("iframe");+ m' d e: {/ A. l7 i6 I4 R
* e9 T7 _2 P Y# y/ v var frame, iframe;2 P( a7 p+ s/ U$ A, {8 j+ S
if (itemFrames.length > 0)
, e4 I- H. ~$ Y; x+ k+ Q {
, h- ~$ l# q p7 \3 G2 G' E for (var i = 0 ; i< itemFrames.length ; i++) 8 m9 A r( m5 Y5 j
{
$ Q0 U) b8 s* j2 C- H0 H V# T) p" B frame = itemFrames.contentDocument;
% Y. V9 o3 u. D% s3 L1 i3 H& p this.RemoveHide(frame,objname);
1 |. h& b0 {1 _ p8 ] }% W& t: C& N% L9 ?; n, l& T3 H- r
}
, E1 @$ L; ?4 [0 A! a if (itemiFrames.length > 0)6 ~* x+ A5 x6 H5 U5 W' c* @
{
/ G1 L1 B7 J/ } Z9 S7 J8 \/ C9 L& i for (var i = 0 ; i < itemiFrames.length ; i++) m8 g) ?* C& i
{* t6 n. z/ [/ ]+ F( ^% x' F
iframe = itemiFrames.contentDocument;
0 `; e& y1 t$ ~7 } this.RemoveHide(iframe,objname);
$ v2 t0 N- I5 N. D }
# k* n8 x( G& o& S( Z% _; D8 s }
% F7 {: i7 L& n* I% ~% }' x }4 S+ {$ k8 b9 G0 N4 r$ [, H7 g
catch(e)
& L }/ `) d9 {1 J* W0 ] {6 U } C5 G1 R2 k
if(debug)' [5 d* _" u1 N7 ]; I
{" O: R8 L6 `& L ~4 ]& Y4 r) @9 D
alert(e.message);3 v- y/ D2 r# R, J7 `' S2 K
}
4 U! N# O; A" h# S% K& Y }# C7 f: R- L P7 [
}, ^3 W3 c; t% p. w
' H" |3 g( O, V: ]5 Q* Y" A( a1 ?, e
}2 L+ ?' ?; e [7 @+ k
4 z* c: M# w$ Z$ m8 a8 ]
function getRGB(colorString)
V8 F7 z* Y* ^4 j- o' J1 U/ r{5 [0 h% D6 }7 u. ]6 q
var RGB = new Array;
7 \ c" I& l" x; _+ c var tempSting=colorString.substring(4,colorString.length-1); u: X( H5 I. N# O# u( Z6 V
var tempArray=tempSting.split(",");
0 d7 K6 a$ G/ j, T( j+ g% @0 |# |- ~5 ]1 `* M
RGB[0]=parseInt(tempArray[0]);. A6 s& I0 @5 s9 N' z
RGB[1]=parseInt(tempArray[1]);- d) u3 N1 y* \4 n1 s T% |; i
RGB[2]=parseInt(tempArray[2]);
7 z5 }) q5 n4 M F" D7 c" H' G/ M# Z4 P' f ; I5 k# k& V' F; L3 U3 K
return RGB;
! Q9 @8 T9 F, x$ ]0 E/ k& k}# q+ w+ d$ }+ P8 V/ k- b+ l
function keys(evt)
& {* W- b8 x' T9 q# m, D$ M1 C { 3 ^3 z, t% C8 \7 d1 i% r' u
if(evt.ctrlKey && evt.keyCode=="81")
" K& C7 b+ M; l5 x" S( x3 S {1 ]: ? {
6 Y" Y* O4 q% t% k1 `! D CleanHideObj.on(0,1);# S6 Z- _3 c# c6 @+ @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); " }% r. |9 M- ]
0 R: }0 y4 O, |9 T/ t" Q( Y } - F6 T+ }, E" x" F
} , g* S+ }# X0 i: j2 U) [6 A
document.addEventListener('keydown', keys, false);
1 C) p" B5 v M' o/ e. |& w! eGM_registerMenuCommand ('Clean Hide',
/ W6 d5 {% u. Cfunction(e){
7 x- \ R: g$ a) kCleanHideObj.on(0,1)8 k& e# D% C- J G) H2 R8 ]' X
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 T/ s& E5 Q. [* |) |" e+ D
});
- J. @ X o) }% @8 w6 m |
评分
-
查看全部评分
|