|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
O7 z. M8 O9 v( H
7 g' ^, s, \* R7 y5 P火狐插件,用猴子
$ |: K% {7 t$ U( j
+ g3 F$ H" y3 ~2 T3 m1 i- B4 gvar debug=false;
% X( c1 m6 ~# Evar CleanHideObj=new CleanHideClass();8 C- y2 l' q- O: d1 X1 @3 V
! D5 Y/ L" }4 Mfunction CleanHideClass() # C% |" H/ {) X* `% O
{ ; |/ ^: X5 X7 {' o4 M/ L( k
0 i+ z" |) m% L) O4 S this.on=function(id,bMZ)
7 ]( P8 N' I; [+ ] {+ w4 M u1 L5 @' W: B1 W
) [. B0 _7 j5 c/ n& S3 o if(id == 0)
, V" h" ?. o1 @1 y1 R: f* ~ {4 v1 u! V9 [8 A
var page=/* document.getElementById("content").contentDocument */document;
. H% ^& g0 q/ q3 s4 \: R% B' F# y this.RemoveHide(page,"span");# s6 D- m; g) T4 a+ L, e u
this.RemoveHide(page,"font");
9 Y# K1 v) w) a/ D this.RemoveHide(page,"div");1 C+ e4 u2 V e6 W
this.RemoveHide(page,"p");
6 T* o+ a/ O* }
$ e: V, S" R d- f) P" p }
2 q4 P- _" l m
' ~: a; n7 O: x. t4 m- j }
5 n) v# R- o: w" `) ~% } F this.getobjstyle=function(node,prop)' b* p+ r+ G6 {# {1 b* U
{. d1 _ a1 l# |: p2 H) [
try
8 p# u; E- G, Y* ~: Z2 P {. R1 {4 Y% u/ X9 L* B. R9 R( w" E
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. I& v) ]$ P2 h8 }# g9 b }
/ d$ j$ I9 q/ E: f7 k3 ~ catch(e)
& _8 A4 X# W! A h. i/ k% ~ { m9 g+ Q3 V+ h- n) _
if(debug)
) M( G1 k, X: n9 v s+ m4 O {
, e! ~) t: T0 `8 V( m alert(e.message);, y- v. z, C. \1 r" O2 [) u
}
, R8 b2 ~9 _: n+ s. k O
: r$ x" `# |$ k( a& O$ L; P return "200";6 g, {* X$ C$ I: G
}
V" P; }+ F8 @/ O }" ^1 Q/ }( S1 H4 x* \0 g5 R
3 r+ T( J1 _ e0 {0 v
this.RemoveHide=function(page,objname)
0 E% `% I1 j# _ {! _2 N7 T! F2 C0 `8 E$ R
try! p8 S; e' C* n5 @! [
{
* X, G- m( X z; E var minValue=15;
, \) u6 Y3 S" ? var objs=page.getElementsByTagName(objname); 4 z9 y5 L% f! S3 W
4 d/ R- o, c1 N2 \' X1 A if(objs.length == 0) ) W1 G8 t6 F1 Z
{
4 o. E* \9 r0 Q3 c if(debug)1 I7 N, C! j+ R1 m2 y5 `! t9 F" p
{1 ?( ]# w5 w5 S' x# x
alert("no object found!:"+objname);9 ]2 s1 N( I% _, B6 l
}; c3 }9 \9 Y# ^, V* X' t3 }
}
+ l# b! E) l# {2 h else! M5 z( E7 ^6 G9 \
{+ b3 S: ?6 n/ |- e( n- ?+ Z( k
( i( u1 G( F9 H' W" a- B; g for(var i=objs.length-1;i>=0;i--) 1 ?+ Z2 _% ?* a* \+ a
{9 X- p3 l9 p% x) I9 Y
var node=objs.item(i); % Z# n+ t( }+ [+ \. {7 }0 b' q
- o3 U& w( p6 I0 | * h n3 r; A/ v3 x( u0 N4 O$ w
if(this.getobjstyle(node,"display") == "none" ||/ B& U6 O# c2 E7 i$ ~. s; r+ T
this.getobjstyle(node,"visibility") =="hidden" ||
4 `* t1 i4 h5 X2 I- q parseInt(this.getobjstyle(node,"font-size")) == 0) 6 d& Y3 z% {7 m
{
+ x% X+ T$ ]3 b% m/ w* ]) z if(debug)1 {8 f O8 c5 g3 D
{
) ?# \+ W3 c( F8 P( v% o" G alert("remove invisiable!");
( m6 Y& T. H) o7 S2 P+ q }
8 R5 \( e3 F- t, X$ } node.parentNode.removeChild(node);
3 m' e6 l, u; L$ B" y & y# y$ V9 a$ T- r9 O: Z
}7 T/ O( w& K$ U! S% q. q
else : y, ?1 ~; L% t r: @
{
% l* [0 Q- o( Y if(node.parentNode) - U* G$ C/ A# N1 B1 T" K; p8 a
{! t2 b; ~( O: D
var orgNode=node;4 D% ?$ |* g' ^0 g9 J: _
var orgColor=this.getobjstyle(orgNode,"color")7 Y0 _$ R; C; x2 C3 q
var orgRGB=getRGB(orgColor);
V- R; X4 W6 L. U6 w* n8 q: l7 U
; b$ _& @* J3 j* X0 z var parentNode=node.parentNode1 Z" w) L# |. {0 b& O4 s6 u
var parentBgColor=this.getobjstyle(parentNode,"background-color");/ s# f( g& w" R7 i7 t
, U. {8 N* q9 |, P7 K var isLast=false;( b+ z4 n! \0 B+ ^# t) |
+ K3 m2 u) X! C+ x while(parentBgColor == "transparent") ! K6 g# N$ I3 N5 e+ X
{
# |7 E a3 T0 z2 W R
1 L; U' A) \# O0 `3 ]$ p # S7 w9 C& R& Z3 u6 ~
if(parentNode.parentNode == null)
* w, e8 X3 f9 q( C" N" P$ U0 n: G {9 }# |" f& u/ h& ^% U, F: |
isLast=true;
& a. j0 q8 h+ [ M N1 A break;6 v$ G* w8 R% V& K
}
0 Q! Z* A c" L% ]& i) R parentNode=parentNode.parentNode;
$ F) @, W1 c0 P% ^; |; ~ parentBgColor=this.getobjstyle(parentNode,"background-color");
$ ? S$ i' Z) c8 K/ f2 w/ D0 w- }2 G' f
if(parentBgColor != "transparent") - l* {* @) V& f2 w7 S' x
{
4 n, Z4 D- _$ |( |; ^1 ]9 e break;
' ^6 {/ y6 d2 n7 ^ }3 X5 S2 b" B# E! q. R% g2 p1 z
}9 x7 W8 | S. O M1 z/ O+ K
if(isLast) $ G( o, R( A4 F; D: S- ?0 \9 k4 g
{5 f4 |1 Q6 n3 [0 P. w( ^
if(debug)
- U8 P+ x3 O6 B; O' f8 R/ z% q: ^ {+ z9 ?6 b* [6 q7 b3 \. U
alert("last!!");& u4 g8 ~9 |8 @8 w& |
}5 p: k" e @% I" I* q1 C
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; W' h0 ~5 `+ Q" I- A: o6 B {
) E+ U& d$ i3 [9 {8 A' y% F# `& c3 B0 y orgNode.parentNode.removeChild(orgNode);
" o& s4 B0 ]! {6 X+ [ }
) c2 W5 v0 O/ d7 `0 I4 v$ M }
( m. ^0 k# h& t7 |8 z else; x: F1 K7 v! ]/ Q+ \+ {, ^% \5 @
{. t9 G* ^) ^/ j9 q" f
if(debug)
. Y1 Q7 ?8 @. D, M4 m4 }3 M {
) E E- H6 {7 E: E( ], T7 I) [+ \8 p; ^ alert("compare color and parent bgcolor!");7 j. H3 W0 \5 {# s
}" b8 i8 @+ \% e$ N9 J0 G# \2 a
parentBgRGB=getRGB(parentBgColor);+ _3 l8 R% \. x! P6 }2 h
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))8 U+ P9 i, {5 P+ c2 C
{& |+ A) d! L; z7 I& J
orgNode.parentNode.removeChild(orgNode);
4 ?2 p5 {6 M6 U- ? }9 j! h& Y/ \8 H7 a- S5 } K7 f& ?
}
* q& s& y7 J. d" G$ }: Q }; @1 p7 V0 z7 _$ ^, a2 O: D
}9 q, f A3 l& S6 `
}
& E. `$ q" a5 a }* s9 [0 s6 e* V+ z
* }% [5 O7 C; i) S 6 p- }+ f) Y5 M( \; q/ S
var itemFrames = page.getElementsByTagName("frame");+ T( @- s4 ~* s! `& R- A# U' I
var itemiFrames = page.getElementsByTagName("iframe");4 I9 o, }5 t1 R
- l" n/ J( ^) a2 \5 m' r
var frame, iframe;
; o; F7 B& K1 [" c' G9 ] if (itemFrames.length > 0)
, a1 M- C9 }: k7 N {
% R! G) Y4 l( f3 E. @! m3 v r for (var i = 0 ; i< itemFrames.length ; i++)
9 v3 ^. [ N7 l9 X {
! |2 V @! M/ b3 X. X( X* ?4 t4 C frame = itemFrames.contentDocument;
: v& V, I. D; Q/ X% g/ Y this.RemoveHide(frame,objname);
9 o- Y5 P' u, N' ?1 ? }
4 [, u5 r' `8 J: W }
( ]- @: `5 N- f if (itemiFrames.length > 0)' ]# M& Z( e) ~( c0 k7 S/ K# K
{9 S5 L4 d0 [4 {, l, X
for (var i = 0 ; i < itemiFrames.length ; i++)
* K! Z" x0 e8 a6 K {. Z0 n) c5 W! {1 Y& ]( Q
iframe = itemiFrames.contentDocument;
: p' C$ z& N8 ^/ b1 Q8 \ this.RemoveHide(iframe,objname);
7 J9 ~ h2 ?5 i. E1 Y+ x }4 ]% A$ s- U" B& [8 S# A0 B
}' g, W3 M* ^2 A0 {' t
}3 P# j, ~% H7 D6 H5 X( ~5 O
catch(e)% T& @2 M2 c0 Q. D
{! R; H0 q$ E& k) g K7 b E
if(debug)
% w- z& T" Z+ m& U5 h: v6 e {) c, |4 Y' n. f4 w2 G7 u
alert(e.message);5 V/ t/ n; L8 P w. I2 S
}8 n& z! h/ }* C3 u! S
}
6 D# M! L" k9 {! O }. a- K. V6 Q2 n/ L" u
* [7 G- F0 P8 ]/ y* T; B
}
- b# V. Y, ~' G5 N- O( ^+ V v8 n4 Y. f. W2 Y9 m4 `. e
function getRGB(colorString)
- ~8 ~2 G- D! H9 u/ P, W{
" H0 }: e$ m; G var RGB = new Array;4 B6 S: Q7 `. u& @( Q" K
var tempSting=colorString.substring(4,colorString.length-1);1 x6 z1 c, X! W8 Q* _! i4 V
var tempArray=tempSting.split(",");
( Z3 W' H* x8 f. M: W, A( e* b, Q. Z
RGB[0]=parseInt(tempArray[0]);
' N; T$ T% M7 I RGB[1]=parseInt(tempArray[1]);
7 p! B/ g; v6 d1 d" A7 _ RGB[2]=parseInt(tempArray[2]);
$ R$ ?9 E- W. a$ h2 b
% X2 t2 Y/ K/ q5 O7 P1 U0 I return RGB;; h- J' t* m7 h8 {* E
}
9 V1 }7 R- n) d4 m" C" F$ _function keys(evt)
4 u: `: t* {7 a7 J { I( j! y! [0 M J3 k
if(evt.ctrlKey && evt.keyCode=="81")
* g" l# f6 @& c3 q. r( a+ a% u5 K {
" y( @" {5 b* L0 R CleanHideObj.on(0,1);, p& R/ T' ^9 j. d. N% m
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( @0 N# u# Z d
8 ?) X7 d( l$ ~. F6 ~8 T9 p }
0 k3 [# y5 f$ P: `* A } 5 u9 V. u F$ K
document.addEventListener('keydown', keys, false);
4 ~1 L2 y9 Z: ~; t: x% f4 q+ b: D: hGM_registerMenuCommand ('Clean Hide',
: K+ l. T! ^! c# Kfunction(e){
# h7 G& e- d' U/ YCleanHideObj.on(0,1)
1 `2 _- u) \6 I5 l0 \- Q" [& |alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 R$ a& j) S c& _; a6 U});
7 h- ?' P# B+ ^# c- |' Q7 }: _* Q |
评分
-
查看全部评分
|