|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) A( M" V% p/ ~$ A+ s( h4 f! ]; {$ v0 D4 @8 Q
火狐插件,用猴子& H' k2 @4 C6 d. _+ E( R
3 g: _8 T) [3 U; k" Z$ P E% ?var debug=false; 8 f5 ?1 v' ?: z x# N8 k: G8 N
var CleanHideObj=new CleanHideClass();% B: ]7 G' \9 {
: k0 v& r/ I" u5 H2 w3 lfunction CleanHideClass() & x6 `" `9 R2 t% b5 D6 u8 K
{ 3 b5 ]+ Y! i" U
& B( G" f: Y% y1 C& a- N
this.on=function(id,bMZ)+ ^$ G9 t& g" D+ i0 K3 ^% _. _; R
{ E" f6 l) ] l# }- t/ D
w3 g5 _3 L e. U" g. D
if(id == 0)' s3 _* c8 w) C: H' p1 a
{$ U% c' e* I* r! e& W }/ h! v. A
var page=/* document.getElementById("content").contentDocument */document;
S" g3 E& F- \! j+ B2 E# r( i this.RemoveHide(page,"span");& D9 o7 n7 j+ P5 [" u
this.RemoveHide(page,"font");
$ `/ k1 T- B `& J this.RemoveHide(page,"div");6 t F. i7 Q; O% l
this.RemoveHide(page,"p");2 R3 U0 g6 L& M+ I1 m
# c. Q# ]% b, N) j; R/ G
} f( J6 C6 U1 G6 N
; e( U/ s ^1 b7 D* `; U }
1 x- d" o; l1 n- R9 |; K: v this.getobjstyle=function(node,prop)
. e5 X9 @- f( H {
% K* ^. s3 R- n7 N3 t try
a5 @8 ]1 N3 u3 D$ B" t {
' S" n4 U1 y1 Z- a, {/ m5 j return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; N" x" a# J( s* U: _4 x" j2 f1 p }
, z- _' |. A; U% v1 I/ [ catch(e)- ~( c$ f+ d" z* x
{
6 T3 a7 f7 s8 r! O# Y if(debug)
% ^ Z1 g- V E. y3 B {
, g' ]4 b; K9 y& ^( E& ~1 s alert(e.message);
/ S- f; q, X- N }7 k# N4 b- ?5 S& B1 Y& C
6 X% |7 p* R3 _( ^
return "200";
; H$ T& R' m' c, B$ I3 Y( d }
' m* B1 F: D0 T I4 D1 U! s( r }4 r7 B9 n, H/ i* P
- T/ Q W* L! z9 B* x: \! y8 y' d0 ^ this.RemoveHide=function(page,objname)
. P( C2 n# h E& H) v$ u. A {
9 `/ M' L% T, ]) O' `% u; Q5 j- b0 l try# b3 M9 _" i$ O6 K; s9 I' y7 U: ~
{ z- k3 _8 d2 h% I5 m& c% q* m
var minValue=15;
3 T' ~" `2 P) ~* ]8 a: e+ K9 ~ var objs=page.getElementsByTagName(objname); ; z- K6 O T; ~. a
& z3 D2 n! F6 s$ S6 v if(objs.length == 0) 4 F( D! T2 q+ L0 y6 R+ l; Q. J
{ ~( i4 p) C+ Q1 K9 V& h
if(debug)$ G" Y) F2 @0 e. f3 G/ a' g$ H$ X
{
3 p0 g0 f3 n$ s0 _" \ alert("no object found!:"+objname);! C7 F4 F, U1 \$ t& f5 W
}
3 X& U5 d* c( F4 L }+ z( B1 h4 f! W- | _' W% k% b
else
. z6 x. W" `, d7 h+ A h3 s {" J5 a9 P+ U) r- E% c
$ Q+ Q3 y; ]9 K: _+ O6 t3 t
for(var i=objs.length-1;i>=0;i--)
, E! O6 I/ D }+ g {
) O6 G& k" ]# |" c4 @" J' G' L var node=objs.item(i); $ ` G% e" L; F" p
8 X6 s5 [5 t5 u4 O
% A+ I0 ]! f; I+ W- j. U
if(this.getobjstyle(node,"display") == "none" ||
1 k) Z1 }2 t6 v* @4 _' J# x this.getobjstyle(node,"visibility") =="hidden" ||
0 T4 u/ T$ \, }3 V1 ~ parseInt(this.getobjstyle(node,"font-size")) == 0) 7 X. s7 Y4 }6 ^! u
{
6 Q% {" K. j* u( r n2 P+ e! f if(debug)
7 S: i: Q5 D% }. @8 f! S; G {
s! n! P) s6 S( G# D" ` alert("remove invisiable!");" s9 a7 H% V0 B. s# ~, `
}
. `$ r; C, o+ u5 W3 I' X% a9 o2 O9 Y node.parentNode.removeChild(node);: D, }: Y' P: Z8 z# i
8 K* n0 y7 K* C* F+ Y8 L }
$ r1 U9 e% D! x* A else
) E3 n Z% |- y4 ] {; Q9 X) N; Z, l4 V# C$ j4 Y# Z' I* x
if(node.parentNode) 1 z S3 X% y6 Q7 Y: n! l% b
{
: X' l4 ?8 d9 b l' x var orgNode=node;
' |: e6 Z1 z! J& w* y; F$ j- z" f var orgColor=this.getobjstyle(orgNode,"color")
5 ~( I6 M+ |5 v# V6 D var orgRGB=getRGB(orgColor); % L- H% Z( `! b3 ?# A8 C
5 v) Q3 n! r9 k5 a q var parentNode=node.parentNode
+ u+ I; g5 G3 r$ Z$ p( d* N var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 h$ m9 s' h2 n% n1 R 4 k' Y9 j4 j! H8 H6 W' K
var isLast=false;
: X6 b2 n, `1 i3 K4 }/ J' _ " ~ [, D/ {* q x/ p" R( x
while(parentBgColor == "transparent")
" {1 Y+ G( \0 B3 g4 d- | {9 \9 v( |7 C, Z! n: E
: }2 F$ f2 G" V7 o: J ! U% W* ?) ?+ ?7 P; O6 B& @( w8 O
if(parentNode.parentNode == null)
6 F1 v' }3 t( m6 B {
6 [! F7 v$ j$ _8 [6 ` S, F5 N isLast=true;3 q3 r0 Z* p9 \% m) W) i7 @
break;
( C2 D3 n0 w, O }8 U$ L5 L j6 k* ]/ ^4 c, t5 {4 c
parentNode=parentNode.parentNode;
; L0 o4 P! n* T parentBgColor=this.getobjstyle(parentNode,"background-color");
- {5 C7 A$ _' h) P
2 }' Q; e8 I) Q5 [ if(parentBgColor != "transparent") / s4 E. Z( F5 o2 V$ |+ L; ]6 d) U
{
! d0 v1 U) V( K9 E& |5 b break;5 u, Q8 E Z& C b: s. V6 @
}
2 {0 \, J4 I. F2 @3 ~ }
& k6 n4 {* J% k8 M7 E6 \5 r if(isLast) 8 ]0 _5 W. |5 C. c. E8 v3 B- q5 w+ z) e
{
3 Q1 W. I7 W+ H% n( e. z if(debug)
' p) u; N/ k& X% \( i {" \, P3 |0 x8 w8 H2 A
alert("last!!");$ F7 _9 E+ K) `+ Q5 S- l: G5 n
}$ M$ o5 ]1 k6 D& {
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); \. ^# ]; o1 _, n2 ]
{
+ q! r8 E& D3 K+ J1 @, Q( ` orgNode.parentNode.removeChild(orgNode);
% s/ [5 A7 `& l4 c }
7 I1 a1 r4 W' o7 m9 B: U# F/ {3 v }
! p' }) @5 H1 q: [ else8 B/ N$ R7 b2 {$ z* v0 \! V
{( y6 i4 `+ I' e1 r3 ]; E
if(debug)
$ m) f0 E+ X* G* v1 D/ K" z {
# k: e$ t* d/ [5 R+ ~0 `7 |4 R alert("compare color and parent bgcolor!");& v: t5 p; l+ n
}
# I1 A5 c0 n& x! p. N parentBgRGB=getRGB(parentBgColor);, ~; @$ v+ k6 `1 O% S% N( G
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 p b& s6 d2 e! i {" k+ X% C2 w$ _4 S8 \
orgNode.parentNode.removeChild(orgNode);
! M& r: s9 J' X7 C. M/ E& T }
2 \/ S7 E2 s0 \% Q: L0 R }
4 ^+ l: N6 O, a4 X* H0 X& \ }; E& j, H: v: W" w3 ^0 s. S
}3 I! ~, e4 b$ X
}
2 K, [9 J- F! A3 s+ |3 [2 O }; F' s0 y1 [: a3 U* r
- a/ m l8 H5 G6 N4 i
% F- V4 H. k8 p* z5 m- P0 e& c
var itemFrames = page.getElementsByTagName("frame");
; R% _; t+ k6 x4 C; X) S; f9 i( H6 w var itemiFrames = page.getElementsByTagName("iframe");) u+ X2 l: o' H
0 d5 ]: T C: c8 a
var frame, iframe;3 t) \( z4 }: p
if (itemFrames.length > 0)6 X# d5 [1 x9 w/ D
{3 {7 I+ X) g' `; m2 S, V6 u
for (var i = 0 ; i< itemFrames.length ; i++) 5 l5 O/ E* ~3 M4 R/ E: U' m4 f
{
2 f# E/ @/ E# n7 J0 Z frame = itemFrames.contentDocument;
3 U' ]4 |+ A5 h# ~ O2 o! U this.RemoveHide(frame,objname);
/ W7 `$ u. P3 g& b }% T& V! _$ X8 _
}6 f0 @! b: T9 K: g4 j. |
if (itemiFrames.length > 0)
3 K: S, E, R$ i" { {1 l/ s9 T: x6 V5 N: f; G
for (var i = 0 ; i < itemiFrames.length ; i++) ' w. k! ?5 k0 P6 p4 `' J& G% P
{+ R9 z; O9 w) E8 C* j5 [% _& g: n
iframe = itemiFrames.contentDocument;* B. {+ K2 D/ \( Q! r- `% H$ `* l
this.RemoveHide(iframe,objname); 9 z. ?- o! g% V- e% k" d
}- b0 P* ^ ?" e, A
}+ H) H" i+ `5 s7 M. V- ~( } h4 q
}% u! v/ z/ l: f0 e. z# X3 x4 F B
catch(e)6 o$ g* v1 u( O8 O8 G
{6 m) f! M' Z! j8 x) H9 W: }" d, c
if(debug)
' y+ C, V& S; t+ T6 K7 @1 b' F k {
( X e S& R( B. O# o9 d alert(e.message);" r1 F* s; q) L2 ^: H
}
- ^, R/ A( S H6 [2 r }
% F7 t% }/ J s4 ?* H. s }
! w& T& S5 C3 S
' j9 f6 u" I9 E3 c}3 Y5 V( M- `& y7 L. [0 l/ ]0 F% t
# p! O0 S/ f5 q9 kfunction getRGB(colorString)5 u( D$ U; [5 Y8 F
{/ |5 @' ~/ k2 T8 f& u
var RGB = new Array;
5 R- [# A8 n! y- u" S var tempSting=colorString.substring(4,colorString.length-1);
8 H4 d0 {1 r0 a) v. a var tempArray=tempSting.split(",");- W. O4 Q+ [/ [
" ?7 l" }. A7 d8 n+ A RGB[0]=parseInt(tempArray[0]);1 v" i- F. J, {& g0 P2 q5 m
RGB[1]=parseInt(tempArray[1]);+ q8 Q/ V% W% z. x+ g0 a' q. M
RGB[2]=parseInt(tempArray[2]);
, s! \* q3 a% {3 G! J1 u" e - ^3 ] z Y/ X5 I; p
return RGB;& ^/ V' ]# x( X9 ~
}. V3 T6 F% Q& Q! ]6 u
function keys(evt) 6 u$ H. D4 }' D/ `/ C0 [
{
+ a6 i1 w' O1 F% d& e" E if(evt.ctrlKey && evt.keyCode=="81")
% d, O! k/ s" }8 i: g0 n3 @6 C { : b' l: [/ F; L5 T
CleanHideObj.on(0,1);4 ?8 E2 ]* N. C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" p' o% o, n1 f& M' m4 H S
& a2 Y5 @( Z4 N+ k( c3 g }
5 I1 a% w$ g) W9 j3 C5 p }
; w0 Q) D/ Y) H, a. D+ Idocument.addEventListener('keydown', keys, false);
( z$ q& \, B0 M( FGM_registerMenuCommand ('Clean Hide',0 {6 }- ]+ F/ t% q" @8 N/ ]
function(e){7 I+ D" r+ i% Z, S8 H! I3 N/ i
CleanHideObj.on(0,1)- N4 b' O5 |. z0 P# }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");6 }* H7 i$ b1 s
});8 c! D5 J1 [( U7 P; _% _/ l
|
评分
-
查看全部评分
|