|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . @6 Y1 q$ F, U+ Q, W7 Q
0 P5 o* K/ Q9 k" S2 u: g火狐插件,用猴子8 E0 |' }7 f; W4 `0 d
: k5 H1 S& F$ K* E3 \
var debug=false; / E D' e; d* g; R: D1 ^
var CleanHideObj=new CleanHideClass();
; R3 g4 i: S) Z/ G' w9 n5 q5 p
% L, a: e$ T% A; z( q/ E! qfunction CleanHideClass()
& m5 _& ^* ~( I6 W' E{
9 Y+ V+ G3 U' ?, h 2 H0 b2 B2 Z4 Q7 g# C5 t
this.on=function(id,bMZ)
+ `6 u7 X* y& L6 Q2 } {
3 \1 Q+ a- p, g/ R9 i9 F7 o
' a4 F0 ?. Q) z: X- L if(id == 0)' T6 _$ Z1 x2 H i( {$ l
{
0 p$ S! A8 o4 l6 i var page=/* document.getElementById("content").contentDocument */document; % w5 J$ m, a/ p' }, d
this.RemoveHide(page,"span");- m S" K- m$ Q8 H
this.RemoveHide(page,"font");& z" r% `+ w9 h
this.RemoveHide(page,"div");
% X8 k. n- R2 i6 f9 S* W this.RemoveHide(page,"p");
% I& g9 x$ R( b3 @; Q& J" V1 Y& ? 2 y# F7 ^$ Y8 C, Q9 n! ^! d
}
: H) q4 L% c* ~5 X4 C
9 @4 |6 z" t0 h8 R8 f }" I; H. i+ k. E6 h0 r# F- f$ C0 U$ I
this.getobjstyle=function(node,prop) _7 n7 C& |. K+ s. y
{% V; {4 S& I1 S& g( [9 p/ ^& T
try
7 Y" ]# ^. A* L6 ]% t o1 W {' d1 X% D2 c- J: Z) ^
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
! e Z7 O9 w9 m$ s* _4 i }0 }. A! b5 f# f. [
catch(e)
; A, u0 W9 N, W& Q# d" g+ h {& i+ f& p$ d: h# G! a/ a
if(debug)
$ R1 q# Z2 r, u3 m& @* I {
: o; D7 {# X6 [/ a5 Y5 D alert(e.message);
, I4 B( |# d6 J1 @4 n }
/ i. x+ F N2 G. k: n % Q5 g0 Q6 ?" F2 [4 W4 n3 M
return "200";7 h) z i$ {! ^ L
}7 c, Q( o8 q( n, i- p. b
}
$ N& B8 ~/ g/ G5 R " [) S9 ]7 d2 Y
this.RemoveHide=function(page,objname)
' O L! ~$ N/ ?0 w/ L8 s {
( }) r( Z5 \* m F p try
! Q2 Y% u8 `. x7 D0 |% U {
( _/ \, g9 Y* [, D( v; G9 g& \4 k var minValue=15;
4 c0 N' b( b. J' n0 H. A var objs=page.getElementsByTagName(objname); 7 Q+ \3 F8 o, M( n" l
: H% r0 ^1 ?* [5 `8 b if(objs.length == 0)
p7 d% ^( u9 a5 Q8 z {$ Z# n' O4 p5 C
if(debug)
, Q# g0 U" z- |9 L# e6 | {; o) y. b0 W. W3 W I( s
alert("no object found!:"+objname);" l) K4 D% c9 O6 Z. O4 F" v* ~
}
3 H* u6 z+ {- m$ @: |: \ }
! h: o2 z4 K; @# b/ }: a/ d' c* x else5 y2 D- H. u. t1 s$ w# b* s+ U2 X v
{6 [/ p6 g% i9 B0 S- U, n! {
* \2 ?3 {5 Q; U; P v
for(var i=objs.length-1;i>=0;i--) * w, N& W0 e# U; m# u" W
{
4 F. m3 b& w1 u4 b/ Z* B var node=objs.item(i);
2 S+ O) f: D: C% C' g! ^* \
6 g, N; {: |$ [" b6 L0 Q. m
3 N" E' R& q+ c$ ? if(this.getobjstyle(node,"display") == "none" ||
) f3 `: e! U; j8 } this.getobjstyle(node,"visibility") =="hidden" ||' @& S; x: ~) z0 x! ^$ F5 z. J
parseInt(this.getobjstyle(node,"font-size")) == 0) " B9 P8 s4 w+ _8 E5 _; Q# y, D
{* H! ~6 D) |8 a3 k9 R5 ?* ?. n
if(debug)
- L6 e, _) W0 k {
3 H. x# r& { n/ e# E. z0 [# }" P$ i alert("remove invisiable!");
; T$ h: y, Z1 z& z+ M5 j8 X }$ _4 z. w% r+ B: o V0 D* G
node.parentNode.removeChild(node);6 z9 x- I3 ^- ~9 b7 C
" g6 f2 Q8 K, H1 r5 q2 U6 Z
}0 r. ^2 j: b# e
else % R3 h) @# z- Q S
{
; Y& r7 t4 m8 H7 W5 E if(node.parentNode)
+ v* }) r @8 k8 G* P {
2 R* @1 A$ u, @, N+ G6 M- \ Q8 a var orgNode=node;* [4 l! ?4 _3 O) ~8 @+ I
var orgColor=this.getobjstyle(orgNode,"color")2 x2 `5 }5 g% V: e+ h& Z5 W) _
var orgRGB=getRGB(orgColor);
6 s. D) d4 ~: z2 M, _ ; O I9 S4 |- ~4 C3 H
var parentNode=node.parentNode
% r% G2 s1 U2 o& Y7 q5 g var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ C- V0 y% a6 V+ j1 @. b6 j
( K, X3 D; e+ p6 T5 {) s$ c& G/ s var isLast=false;
' @$ j3 a! d0 Q( W* {' O
: w4 M7 Q4 C; ]2 S$ B/ G4 O while(parentBgColor == "transparent")
6 @% }1 W7 c5 x) V. F+ Y" g) l; F {1 [) ]. `: i. U# D4 e
0 ^) Z& i2 l" [5 M3 c* `5 ~& H 0 @& s# M' A6 P0 i% Y, R. E
if(parentNode.parentNode == null)/ a5 X" ~" N8 }5 z
{& D2 e& U+ V u3 H+ K/ D7 Y
isLast=true;( Q$ m. ]2 X4 J. m
break;9 u5 @; z5 z- w1 m9 t
}
$ @8 ^' m# q: j, L parentNode=parentNode.parentNode;3 a$ @& ? s$ k, {+ L
parentBgColor=this.getobjstyle(parentNode,"background-color");0 q) ~; }' w" Q6 J
7 E6 d( s+ c, E/ h/ e6 \2 ?( I4 ~
if(parentBgColor != "transparent") 5 `2 F& v- M1 m! z; Y# c" u6 ]
{, O* F: J7 s! K/ T* C9 p
break;9 y$ T$ p/ m/ c3 H( i% z
}+ d9 L5 M o1 B3 w$ N+ ]3 C6 j6 Z
}
2 t- ~/ F2 E/ c% J if(isLast) 9 m5 ?2 o( W% A% R: W6 p
{
9 W; ?0 \& _0 M( x1 |* N if(debug)2 C3 S8 F% o% F- x! s
{
# W9 [6 {( N. B6 T& d( [7 B alert("last!!");, K* r, `7 C! S- |# {1 N
}
0 E, g% ?: W5 c8 q$ T1 N9 r if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 S H) f: U0 g& w" K" J( G
{
% E# P) d. a$ r5 K- C orgNode.parentNode.removeChild(orgNode);
+ Z* o! m5 z6 [! t+ A# T }" K q! E& {- n5 c" X) d: H
}* H! d4 q4 R# Q5 O6 f3 w- [0 _
else
7 b. Q1 ?$ G1 u Y; X {
1 `" J& H2 b2 A5 r* o6 o if(debug)
! S" j* o1 n b" E# U4 O2 C- ^ {
( O9 f& r7 a. A: q- ? alert("compare color and parent bgcolor!");
* n) q+ T0 q9 Q+ f; ? }
7 l+ J- x# G8 F! Q parentBgRGB=getRGB(parentBgColor);
* v. A: M5 e2 E if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ b1 X2 ] ^' Y$ G& f3 M {' R( h: B z) i. V$ Y! _6 b
orgNode.parentNode.removeChild(orgNode);
9 l! i4 `, Q' P, r' v; w7 s }$ C2 k) S5 `* G/ E
}
9 f4 B5 H$ ?) r( H" [ }! l2 C% O% F7 Y5 J) z
}
2 G- M, \: ^: s, x } T% ^9 M* X9 D6 x! D! |" _: ]$ y" ?& t
}
( d4 z) c* S# ^5 S1 R+ O 8 `1 E8 Z! { u3 w0 x- r9 c
0 G* l+ M" D- w5 d1 O( |& z var itemFrames = page.getElementsByTagName("frame");
0 L+ t$ a& G" b2 E& x: J' Z% X; K var itemiFrames = page.getElementsByTagName("iframe");
" y3 n& R% @* Q% M
% @' O9 C+ u$ V5 b$ w var frame, iframe;# ?& Q5 n5 e' @1 V/ a! v
if (itemFrames.length > 0)
) g8 V1 n @! o* ?5 n {: n3 X. ~, j0 H; i6 |, Z7 q1 g4 p g- I
for (var i = 0 ; i< itemFrames.length ; i++)
$ U! m2 J8 _+ g U. Z# q {& [. m, E+ g, G2 o' X
frame = itemFrames.contentDocument;$ d4 ^1 w) o9 S; p
this.RemoveHide(frame,objname);
. @7 Q2 L: F1 p9 A: b% ? }
3 t8 V4 l& ]3 L, [- K }
* v; {; d# v) W2 Y& k- q if (itemiFrames.length > 0)
! A7 y: G3 o! G { X; `/ C8 T5 j- q8 Z0 g7 H
for (var i = 0 ; i < itemiFrames.length ; i++)
! W( h; G8 ]) F0 Y {
9 }& ^4 }6 v$ X0 ^& H" r iframe = itemiFrames.contentDocument;* o( X! F! N, j7 a2 X7 Z/ X1 H
this.RemoveHide(iframe,objname);
6 a8 `; X7 f& p$ L) E. l' @ X* N; u }
7 Y# O2 c ^5 j9 L7 [ }) t) b6 A& Y) E) o4 c7 q
}0 P) M$ q. d* J; P, X2 v
catch(e)
) W$ [% M7 w; X. @& [ {8 k9 q2 L3 ` T' `
if(debug)/ o5 N/ K' V: O0 H
{% v( Z [+ K& `
alert(e.message);9 s( ~ \4 c# P" @; q6 R6 z
}
: B; [/ D! w, |0 k; q% H- c }6 \! @, M1 I# d/ F2 C8 k1 i
}( C* d; X- B& w% E
5 u7 E9 @& ~3 U* r8 g}
5 A$ ]3 }& X5 I2 Q% X% p, H* s. { S P7 A6 c% T
function getRGB(colorString)
2 D. j6 c+ F0 ^{
" v5 Z8 Q+ }9 q var RGB = new Array;
r: u& Q) D, y: A9 [( N var tempSting=colorString.substring(4,colorString.length-1);
1 |, Z0 t( O+ a4 t; M% o var tempArray=tempSting.split(",");
* C; V! V$ w( j* H* ~# S8 O- Q" g" v' t
RGB[0]=parseInt(tempArray[0]);
- H( J' r/ x: i2 i RGB[1]=parseInt(tempArray[1]);
2 x5 I! E. Z0 i0 N& t9 _ RGB[2]=parseInt(tempArray[2]);- d% v" \1 y9 L1 X6 ?
: z+ x( P4 h- f" { return RGB;, d$ d% R/ R; w$ V' B0 h1 ^5 H
}
! n% G: \8 v: w9 ^) N9 M6 p: R$ V$ k& |function keys(evt) / ]) | V k8 i( F# l+ q% E% Y
{ 3 _5 o: J1 S* h- W k% S; R: u" s
if(evt.ctrlKey && evt.keyCode=="81") % z2 X5 |8 O' q! `$ ?# u8 N
{ ) p1 N4 E2 T% ]8 _) O
CleanHideObj.on(0,1);
) I/ A6 i+ J1 i6 O/ D- p alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); / X' @" }1 s# l4 V- ~3 E$ j
, m% _ h* i/ h
} ~" g7 p$ e) C9 W _9 j: \
}
( @( z2 o4 o+ {. A- L. F$ d0 k0 ]* odocument.addEventListener('keydown', keys, false);
7 h g: J/ Z1 g$ J3 OGM_registerMenuCommand ('Clean Hide',
/ g1 K' @. j4 D( {# d% T( Z: Q" jfunction(e){
# S) V' S, k4 XCleanHideObj.on(0,1)
" u/ Y) |0 M* D. D# Q* g/ b! [alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- `- ^+ b% T7 l6 @});
: z# u( n' N( [" S. m |
评分
-
查看全部评分
|