|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! s! R, |! ]( W
* P' r! O b4 r5 P6 t% z! J3 h
火狐插件,用猴子: a& ` R& x: m: Y4 N$ J4 Y2 s* {
4 l; ^. |0 F4 q
var debug=false;
* X: W3 ~7 a% z4 r/ ~0 o; dvar CleanHideObj=new CleanHideClass();: ^. [- {: \, h# E
) [9 I( H2 j# k' N6 g* D/ b5 Bfunction CleanHideClass()
+ m6 O! l8 T2 `- J/ Q{ 5 E5 I, P7 I) y5 I) h
( ]/ u3 @! N" \/ V: k9 [4 R/ A this.on=function(id,bMZ)
6 q {2 y0 w0 q# C! S% ], v+ e {
! Z2 I H4 U' i- y
: }3 `" J* k! a! S5 A- A if(id == 0)6 `! _7 V: I( H# T) M
{0 s# R0 B Q- t# @4 z& T
var page=/* document.getElementById("content").contentDocument */document;
' r" i0 U8 J1 z this.RemoveHide(page,"span");! b' z. G2 {; s) e
this.RemoveHide(page,"font");
3 V. T: V7 v( Q2 ~5 l this.RemoveHide(page,"div"); o8 h2 o4 W+ K, q
this.RemoveHide(page,"p");
" b5 A. _2 p" t$ ~! X' i( m# V0 p& t/ u% e 9 k# _% C) n9 X% C/ N$ w2 L4 a
}' |& |" n3 V- _- U+ Y: z0 z
6 ~% b! m* Q6 D2 U9 Q
}' R+ y/ C( l+ W
this.getobjstyle=function(node,prop)
! ~& b: ~7 v3 F, V {+ n2 r. W, U( j; P5 p- A6 q# z9 H
try
# R7 _& F% [3 t' g { ?( `; H- @* |* g+ g0 K
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
& S* b6 y$ L: p- y7 B, _1 z0 z }( O. r* [/ Y' p+ i( D
catch(e)
" g4 c+ {! O) K+ p V8 y8 f {2 t* S* H Y" x: b; A
if(debug)" b3 l1 j( r B: \9 q: j
{! e/ k v0 V: o- k# O$ w! L
alert(e.message);
$ S- K$ B7 w" ~- i! D# c* e6 \/ O }7 z# V: r. y) O7 t* W
z J/ C5 w! w# ` return "200";
$ }- W: }5 M2 U6 o6 E }7 C% A" ]0 X, h' d
}, n9 c: h7 L/ O1 d
( t. T n3 [, a/ ]9 V) z this.RemoveHide=function(page,objname) ^2 C: f6 u5 K& o6 v
{
. F0 k& V! z0 S, i2 t1 t |( q try. ^" X4 e1 |! X; x8 [
{
1 \" r. C( r, I j2 L( S0 d+ h var minValue=15;9 e3 [9 n/ q5 y' k( h* g2 M
var objs=page.getElementsByTagName(objname);
, ?" {' X8 @- h7 f1 r; R- U& G* p2 K% P4 D" l ]
if(objs.length == 0) : L: V% ?# H$ ?2 B ]+ S6 F
{( R0 `* U! L6 q# u$ y6 e
if(debug)
T, E" @& s& c5 I5 ` {
- b K! T- O+ K# g7 F9 ` alert("no object found!:"+objname);4 b. d. N( U1 |0 g" I, G
}
) y9 C) ^5 ]; s( X: G5 G }7 o+ \! E0 L9 C9 V
else
) K& |9 s6 J- j4 h! e {! c: p2 x( \+ V. P
9 b4 c8 Q; Z4 ?7 u! P for(var i=objs.length-1;i>=0;i--) 7 ^/ O% T; x7 U) _5 a# y
{
# E1 p% x# k Y, Q4 T var node=objs.item(i);
& o0 |7 N- ~; l2 y4 ^# t! A
2 w2 {8 \; z; r- X3 G! ~ # a* U# O5 {- z) }% {* C1 U8 \( T6 S
if(this.getobjstyle(node,"display") == "none" ||
3 g: o9 L4 x3 C this.getobjstyle(node,"visibility") =="hidden" ||5 d0 f$ m/ S8 l5 s
parseInt(this.getobjstyle(node,"font-size")) == 0) M6 q( v0 n4 u$ {6 W
{) [4 ^# {$ D- k7 Q' a
if(debug)
, d& X& m ^2 z0 x2 e3 N- y: @1 T {0 h+ T% z9 j3 U4 Z T' \
alert("remove invisiable!");( Z8 P" A3 E1 }9 f& d% P
}
! w% N$ u/ p) t. c+ `2 ?2 u node.parentNode.removeChild(node);
% _$ r( f! B7 Q: c % ^; q, ^4 I' O" {' I
}
3 u. s G3 A) [# E else
$ Y$ z1 J( K3 W {4 Y/ h# r' e% M9 c+ T/ S9 k8 S
if(node.parentNode)
; x5 w/ v: B% l5 J; E7 V {3 c* N& Z; X1 Y2 Z% [+ C3 g3 ?! V
var orgNode=node;
, C# P/ F/ a3 I9 C3 G! _+ \0 S# G5 @ var orgColor=this.getobjstyle(orgNode,"color"); z' v+ l+ \7 x- X, n
var orgRGB=getRGB(orgColor); / v6 ^3 ^. O- t
' F1 ^' M8 u: n! G* q
var parentNode=node.parentNode# N7 @2 F; n: {2 p, I
var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ A# y3 I% L# @( x5 ~$ l 6 r6 f4 `( l, s/ N+ T- i: v
var isLast=false;/ Q. X. ^4 r+ S$ X& J
& }% @# z, Q% ?( g
while(parentBgColor == "transparent")
* N5 C9 Q7 Q6 O+ J {
3 ]% f" E3 O2 Y& {* e" B ( \. M6 [6 ^* J
6 d6 f# L8 Y" V if(parentNode.parentNode == null)
. c" F! T5 h f6 E1 s {
" m4 v, ?9 z- \* U/ ?7 E isLast=true;# T* q' w+ ]* e3 r
break;
8 Q0 N0 F4 U' T9 E. d }/ f8 ]1 a i- f: l* b
parentNode=parentNode.parentNode;" n- }% m. x- j8 T+ i
parentBgColor=this.getobjstyle(parentNode,"background-color");
; H% G. C P3 E. ]% l7 C4 Z. K) X1 Q1 L$ m& Z* Z
if(parentBgColor != "transparent")
8 \0 t) |, b- m1 D {" z$ Y9 ]; j$ m$ {* _0 b
break;8 C# l% p, T( Z; g6 H5 n& Q3 m
}' [5 _2 _7 M0 c9 X1 j
}5 {, f1 J/ m5 A- T9 d/ D. F
if(isLast) `$ C6 \$ G @6 D
{
8 D/ |) m: o0 [1 n6 f if(debug)+ o. y& f9 Y% D2 \$ @
{8 Z8 z- C* N# H# \5 ~
alert("last!!");- R* q+ _) I" s+ l; L- a
}6 F1 |0 r1 Q0 d& T
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): }- @& W, ?# V6 d6 ?8 t
{
+ W1 {' s( _9 z7 ]+ @ orgNode.parentNode.removeChild(orgNode); - `1 N/ ]3 i- G5 M% j2 }- J' S) J$ W
}; o6 C1 ~1 t C2 w
}
# L. H( t8 D, a- u! e! b: k else
& J. g3 w9 O5 Z8 I" D {
4 ^2 h' f" U. g+ {8 j5 m if(debug)
6 }0 j) u9 h6 o6 {6 H1 @* _% K$ \4 m {& X. s( I& M8 ~* O$ U
alert("compare color and parent bgcolor!");
) E, Y% t/ z. J. q+ y# }( h. y }' }3 p' v& S% a6 b* l6 l
parentBgRGB=getRGB(parentBgColor);
. s8 r# ?' q7 N) { if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* \: C( N, \0 Z. o: N3 d {7 W5 _: |: e4 F. J
orgNode.parentNode.removeChild(orgNode);
7 _# C( W% a( c# \5 g4 Y3 G }) ?, C. p+ ?% A! D S3 v1 P
}4 _: w4 v" \. l2 K
}
, o1 B# v' @, U3 t. h }
* K. p+ d8 P* }' `0 i }
! K9 f; w( F/ J5 n' } }" z2 B# A5 r* D% q
7 L5 ~, y# W M7 c" j9 s
0 s% k+ U3 a& r3 k6 X. J% M& e' V- K5 O
var itemFrames = page.getElementsByTagName("frame");/ Y; p) o9 l7 h
var itemiFrames = page.getElementsByTagName("iframe");
2 C9 k# h" v; Q3 g' r. p : n) ]7 T3 U4 o) E- t* T$ M
var frame, iframe;
. {# m* K/ ~: J% \2 l. u E3 V b9 ~* O if (itemFrames.length > 0)
! }2 w6 g8 k& Q {; h7 j0 G5 |, P# t$ V
for (var i = 0 ; i< itemFrames.length ; i++) * q) ]4 N" _5 N1 ]; g
{( k8 d% G d. E$ p# R) q
frame = itemFrames.contentDocument;
8 p; m }1 f3 K6 @. j% L0 j this.RemoveHide(frame,objname); 1 C6 B) r$ K. E- f
}
- C- b% w, T% u* }7 V }
6 L# R: Z% a/ p! R6 p! B1 t, C if (itemiFrames.length > 0)
9 Z: k/ l- d5 e, d {
O) @2 O/ K8 `/ b9 M for (var i = 0 ; i < itemiFrames.length ; i++)
/ U3 l" M1 l6 I* R7 S7 C8 F {1 M2 w1 o9 M/ z7 f7 \) J! C9 y% V
iframe = itemiFrames.contentDocument;9 |$ Q$ Y9 R0 C8 r! P6 B- Z
this.RemoveHide(iframe,objname); # [8 q& B0 n/ m
}
- q9 H9 e- x+ W8 _1 |1 b8 L! y+ d/ m* T2 e }$ l' R/ U M: t/ }; q- B
}
& b( V. i# r" G$ y% P+ y( t catch(e)
7 {; s5 z4 x7 l& `- J- Q D5 X% y {0 ~8 w% `/ d8 B, _9 M
if(debug)3 ^( y6 B: X4 v: r- F4 G' @# H
{
+ P8 Q, C% L* K H9 B5 |3 b alert(e.message);( W* e+ z" Z7 O5 `" R# m
}, j( m# z" w* Z/ n( `3 `$ W
}
( C, H& P. s" V' s }
0 a N0 o5 M/ `+ @+ J0 b R; V4 E" ]9 X; ]) y. x/ v6 ~
}) V: \# S! M K
' y8 Z+ i6 e! V) m x4 M5 \& D0 U$ ?
function getRGB(colorString)
! n; {8 T# u6 {1 S- L3 P7 n6 ^{
3 w, ?- J# h! y* q, X' Y var RGB = new Array;
; U0 Y4 h: K, w" p+ [, C8 L$ z var tempSting=colorString.substring(4,colorString.length-1);
; `/ m2 R3 Q% J O' s" F var tempArray=tempSting.split(",");8 v5 b9 w+ n+ S8 u0 A% v
# g# V) h6 q4 a' A" a" f; E% N' K1 z( [! F
RGB[0]=parseInt(tempArray[0]);
% W2 i/ m0 \9 l$ {9 _& w RGB[1]=parseInt(tempArray[1]);
; V; y6 i+ a* F. ]& {% N8 a1 `, x7 C" G0 A RGB[2]=parseInt(tempArray[2]);* c: B5 q9 Z2 I' k g: B% }
& ]. B$ g' E1 { u return RGB;
N$ x9 t. n0 x4 t}
! ^5 H# @; f& c0 [function keys(evt) " G+ \/ G% ^5 M0 Y
{ : I* y& N: h% h, c/ @$ ^
if(evt.ctrlKey && evt.keyCode=="81")
7 N# w0 d+ ?8 h7 G8 W- G. b {
& _, e y a+ `% ]$ { CleanHideObj.on(0,1);
/ g; D- y7 Z8 A$ a# _5 g5 C alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 m; G; @$ e# o# S7 n6 g
4 p; Z/ M y1 K1 ? }
$ h, k1 m# a4 S. t } % @) O$ S& X8 c& e9 v6 t$ z6 T
document.addEventListener('keydown', keys, false);
! v- p+ j( Y M9 Y p% XGM_registerMenuCommand ('Clean Hide',9 V9 h A4 Y5 p" x. `
function(e){
9 p) h5 R- ?- s2 e& f t0 U( b5 _CleanHideObj.on(0,1) a( G9 {- s9 d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! K# d# G/ ~6 t- ]+ Q5 q3 F* e
});
6 G) J2 [8 c2 Z d) _ |
评分
-
查看全部评分
|