|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
' q, [' _$ \7 g( ~" H J
6 P: l: Y5 {5 W; [" L+ \+ Q" \火狐插件,用猴子
# j3 O! c; Z5 G* N) a1 ^$ A+ T, d, C9 ?& b
var debug=false; * a) z3 w& i2 }: k' Z2 J
var CleanHideObj=new CleanHideClass();8 y( D& j$ d! V5 G, G8 `/ Q/ v
. D8 S% o; ]0 [- q! Xfunction CleanHideClass() + Y$ `" [4 X2 X* b" V2 ^7 T2 d& Z
{ , l+ Z( T6 q' K& y2 V
1 N# G/ ~, Z5 o5 `9 n* C9 Q# q this.on=function(id,bMZ)% }# t: f" ]! ~" s
{
) z/ ^- D: r! x* I; H - V& x1 ], f( V1 V. p9 W' M6 V
if(id == 0)
% A V4 ~( w" z! r {
( ]7 B+ P6 i+ e var page=/* document.getElementById("content").contentDocument */document;
1 F( @ N' W6 V, V; w this.RemoveHide(page,"span");* b6 d4 I8 g! |+ z& e: e
this.RemoveHide(page,"font");
$ `" G4 ]4 H% ^& k+ a this.RemoveHide(page,"div");
F. Q# V; ^1 Y7 T+ X+ q- ^1 Y" B this.RemoveHide(page,"p");
3 p/ s* L( U& [; B& X: [ ( u! ] z- ]( F5 {8 \" M F4 w
}
1 c2 `/ \% J6 |3 d3 O- Z9 d 9 n% H X6 b8 E) Z3 \8 B2 u# i! i
}
+ z. H5 p! V5 {+ @0 M0 z this.getobjstyle=function(node,prop)
# S- b% s" k6 ]5 e6 g {
! Y4 m+ [% K2 t) H try
- Y2 x" a8 ~! q: _3 u. z' X {- ?$ [' r6 M/ ]
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 ?& e# h' g/ p3 a$ d }# m: w5 j# W2 ]
catch(e)1 `% ]) B: r$ q/ @$ s ^$ }
{
I, h) K9 F4 {7 k1 @; f if(debug)) O6 X+ _( n' O* b7 M) S% ^. p
{9 z k1 R) l% ?; o" F B* j
alert(e.message);
* b7 v/ N8 a% { }5 Z8 ~* P8 N( [/ `) u
1 c# Z+ @$ C; t" a+ d
return "200";
6 [4 E) T8 a7 l1 r }
: U3 L; F, k8 g- C* U8 O }) u4 o& q- H; i+ G5 z
! m# z- {8 H& M7 z7 Q: v
this.RemoveHide=function(page,objname)% I9 F0 M u6 t- i
{
1 w, X( a$ j; t) x7 A try% }: |; R% l4 }0 L- a% C' _! y' C; B
{1 f' A; `) g% s& ]
var minValue=15;
# q0 Y# G0 N/ E) Y: D var objs=page.getElementsByTagName(objname); * c5 A. ?. p! T
" Y' a5 I$ p' d* D& F) h4 `4 j
if(objs.length == 0) # I% V6 _% W4 y5 f/ R
{
! J) }# H$ c( _$ W o$ M5 H. d) L if(debug)
2 R+ r. D" u( q* b' @! X {
; d' Y( t) p! w8 a: W' B/ C" ~$ c alert("no object found!:"+objname);
/ _& b. Y6 e/ }3 O% l5 J; V, h9 T1 z }
% {3 y) j5 m" Y; C4 L8 ? }/ s0 x( N/ w- Q1 Q
else
7 ^' f$ r2 r% v* j8 o {
. d* ^, j7 @9 p0 {1 x; x. G! Z
% w- R, U9 T! s7 ~. T" _1 `8 Z for(var i=objs.length-1;i>=0;i--) 7 T; v$ A4 T8 B* G0 ]
{
- H1 W' R) P3 L& O& j! b& x var node=objs.item(i); : R5 `2 \2 ~+ X; h0 A& C# t a. |
: l9 C: a& w) z9 q5 N. y- ^7 j ! u* F1 @% S5 a3 x* D* T9 t4 X. i
if(this.getobjstyle(node,"display") == "none" ||
3 W) d0 U; _% q! W this.getobjstyle(node,"visibility") =="hidden" ||1 n9 I1 N' |, c% D& k) P
parseInt(this.getobjstyle(node,"font-size")) == 0) + ^( }, k1 \- N1 ?
{
) Q& w2 d8 u% @* `1 e( H, x. ?( I if(debug)! T% m* B/ n' d# D+ Z+ f
{
! S8 N* H* y! z4 `! I5 | alert("remove invisiable!");2 y N9 U- s. f$ i
}& j# n0 `6 g8 D# L ^4 ~+ T
node.parentNode.removeChild(node);2 \* l& |# j2 `
5 P7 N5 M: H: J# ?" ?3 h) g, y
}4 Q4 V& Y ^ Q) C8 k: p( e
else 0 [% ~2 \9 [8 d8 G! E5 L8 S/ ]( ?
{
4 K# M8 h& v- h: j+ p1 Z4 P if(node.parentNode) " {0 e4 y3 z) e" b" e3 }
{8 |( i, n- X8 O
var orgNode=node;# }6 `; S" I3 N/ u; o
var orgColor=this.getobjstyle(orgNode,"color")1 G8 n. \. H! ^& m" _0 i% y8 u
var orgRGB=getRGB(orgColor);
3 B/ y* P& Y, \9 |2 m* o6 h; y ) y# E$ v, N" X$ ^, q
var parentNode=node.parentNode
6 z8 m; f0 |8 b- [4 Y% @- u6 o3 C5 y var parentBgColor=this.getobjstyle(parentNode,"background-color");
4 ]: m/ I/ \' g" L* _/ m( v/ i 1 U+ W7 i/ s' b5 f ^$ d5 a
var isLast=false;4 Q/ A0 }) p) ^9 P. L) I
v* O+ h' g4 I- o/ _) D
while(parentBgColor == "transparent") ' @1 r4 N' Z H$ i2 s9 @
{/ {) G& M J" Z- ] f3 F( p' y& ~$ h9 Q. q
. P1 r' Y: z+ Y, Y $ ?. y$ Q5 W7 o& B6 U8 x7 O8 s
if(parentNode.parentNode == null)
% W/ y0 n$ s/ d% _: u {( R4 C( R5 e/ P! U [
isLast=true;) x/ C" O4 Y. e! ]+ r8 C
break;1 F' u* M5 m( p: D/ ?, {
}/ n2 e% O5 J4 i. N% J
parentNode=parentNode.parentNode;( d" Y4 m6 O' b2 Q4 @
parentBgColor=this.getobjstyle(parentNode,"background-color");
# g0 M2 p. `, V2 _% N, Z! X8 s2 R7 h6 h" d
if(parentBgColor != "transparent") - o/ @3 c- o* _2 L0 I# o
{
8 t/ W. z) D. y; q b1 o* x; m break;5 z# z. p0 r: u9 I& k; v
}: N# x. [; ^2 [, m! ~
}
% ?' `- c1 p/ J. E5 K4 s5 S- s' h if(isLast) 3 h& m; h4 T8 R1 z& }
{4 D& J( {3 D1 }! ~6 A/ T$ Z0 d
if(debug)$ C# V+ q: H3 G# J$ x, {
{5 F; {3 x, f! g0 J7 _: q+ q# Q
alert("last!!");
; F" w9 P- K3 F- H$ K6 Q }- l" x, p. V8 C
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 m- D0 F, W- C! Q! z1 J {
5 {# Q5 O, o, T' ~ orgNode.parentNode.removeChild(orgNode);
! u/ \$ T4 v7 f# v+ f+ x$ S, ` V }6 B2 R" \/ B. A4 \1 |& \' D
}* H9 `# f/ w% k4 L
else. c4 [$ h1 W/ {% V
{
0 u9 C! @: `4 ? if(debug)
3 ^: J* z5 f8 D s6 g* L {% {4 ]. P. z0 E! B6 u$ Y1 |
alert("compare color and parent bgcolor!");2 J5 M) Y! S4 A
}$ W7 s, y+ Q2 s8 m+ y
parentBgRGB=getRGB(parentBgColor);8 a8 e" L. ]2 X- V2 j
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 x6 b: M, S9 y: e {7 M4 h& u3 e" a8 U$ a- f
orgNode.parentNode.removeChild(orgNode);
0 J1 k' K- E9 u( ]# ] }7 [$ t0 c+ W% O# G, c* t% w q9 h
}+ S% k# l$ ~& n% }; [9 v
}9 d) M6 v3 x9 n3 y" @) Y( F
}
: e0 ?4 h1 E9 w- z }5 B* B7 f- Z2 \6 m* Y3 C
}
) x1 Z- y' o, d6 Q- I( X8 ^# J
) v4 b# x$ }3 M2 U% U- a
2 U1 m% c- T( S/ m6 d+ ~! E var itemFrames = page.getElementsByTagName("frame");
2 | y& w7 r6 Y; N var itemiFrames = page.getElementsByTagName("iframe");+ G. x. ]5 h" J% }, H1 I
9 w0 T7 ?. I3 C$ b4 j( A var frame, iframe;
, n) @+ l1 {. E7 b) C if (itemFrames.length > 0)
7 v. v" c& F5 s {
! h7 H+ G t6 X4 @9 Z/ D for (var i = 0 ; i< itemFrames.length ; i++)
; Y% H: T) H) D; {- b7 `) Q, ^ {
, D, ?3 @9 J' M% _; L, y: p6 ~ frame = itemFrames.contentDocument;2 T+ [. R8 ?% R5 _ X% N8 U% v
this.RemoveHide(frame,objname); 7 {5 F/ c0 P1 g! w
} p% x8 T7 O! k& o2 F8 g
}0 o3 t8 [; f( c- h6 E% W. d
if (itemiFrames.length > 0)
6 Q' i2 g# U- y6 E5 S {) {$ s; E9 ^& ~3 M, v
for (var i = 0 ; i < itemiFrames.length ; i++) ' o7 B5 P, o* Z' E \+ T8 L+ J7 X
{
* t1 z* y; Y0 W! G% K5 D3 H% B iframe = itemiFrames.contentDocument;5 ], A) T/ O+ h; h3 b" a6 _
this.RemoveHide(iframe,objname); 4 S6 l# G9 t* q; ?8 U# q& X( l
}: a. F. u! b6 j1 j
}$ x+ f/ u& z& r9 J% l7 z
}
" v: ]6 A# \& w3 _# E1 J! x catch(e)
+ I* R8 u* q* [, F) g& V {
& ]8 j0 i. J+ M/ e( ^4 Y5 | if(debug)
7 E" I& z- z: E! N6 E {
' \; J' r9 x% O2 z) V0 ~ alert(e.message);9 r2 l' _7 k4 y$ ]
}
7 n- S' h1 E$ Z4 Y }2 i( r4 N3 N1 r# q( {
}$ X+ f7 l! ~; L
6 n5 ^( h, |6 A: X9 Z0 j+ X$ O
}
5 D6 a/ t& B) L4 o1 h* D- C) U$ s4 W( G2 d F' u7 F
function getRGB(colorString)' o6 q. ~! B- G1 ?
{' Q2 D O, b( g0 ~) u5 V6 w
var RGB = new Array;
6 S0 A J5 m% \. [. ] var tempSting=colorString.substring(4,colorString.length-1);
; ^* r' {1 h5 S. R6 `0 j9 A var tempArray=tempSting.split(",");
, m2 O# S/ X0 s: m% E6 p9 }5 y/ w1 m5 C- g' `
RGB[0]=parseInt(tempArray[0]);* V \% m$ U. Y
RGB[1]=parseInt(tempArray[1]);
/ }1 M6 @# g* c& ~ `. J RGB[2]=parseInt(tempArray[2]);, O j7 ]1 U* W4 u4 G- D
/ Y' {: i. E/ n0 [) J9 v return RGB;0 A0 g9 y9 S. G9 j3 b
}
. s* y6 h+ u2 Z$ h0 n( m& e0 B! hfunction keys(evt)
+ L6 d0 Q! K6 c4 Z { 2 `" h3 Y+ d+ Y
if(evt.ctrlKey && evt.keyCode=="81")
, h$ ?/ V2 ?1 L" ?: P { ( o4 \( {7 T4 F" e! ]" J
CleanHideObj.on(0,1);( K" R* k% ^2 O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ ?6 E0 e- d5 f( w 1 H* L. _: @' B: _" J0 \0 D# m
}
# E1 w( o: o1 H5 Y; N& t2 K/ Z! V1 \ } 8 r8 r* L* i6 C
document.addEventListener('keydown', keys, false);
8 w" C1 t& W& r8 F) E1 Y2 K) ]GM_registerMenuCommand ('Clean Hide',
; A1 a1 Q2 B+ u" l* f* o2 G4 ^3 T6 yfunction(e){) T1 s9 {: l4 s4 L' Y) A
CleanHideObj.on(0,1) @ [' ~9 E* E4 ~" i0 U' d! h. D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");/ ?. a2 E; y9 d( _. E
});0 s7 \, {! o% f; J1 ^
|
评分
-
查看全部评分
|