|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , q# K! r3 D {
- A2 u4 F7 o( U/ Y
火狐插件,用猴子- U9 Y- a% F5 h: o. v8 q& g
$ T0 J5 s. R% R( e7 @! gvar debug=false; ' y" D4 A1 h* I1 h6 k1 v
var CleanHideObj=new CleanHideClass();
# D! s) T9 e( [/ N7 e4 ^7 J3 z# q0 ~) b8 Z% K
function CleanHideClass() G( h0 N9 V9 S/ P# u
{ ; P% W: g ~; J, L& M
0 m! t2 s4 w$ h4 R
this.on=function(id,bMZ)% }" O3 s5 q7 t) T9 J2 b
{
. U( u# z0 C8 G7 ^* {" d" v
/ k! H7 S- ^8 t5 \+ Z if(id == 0)
: J1 a0 @6 G+ R' ` {) L1 C6 X+ z# h
var page=/* document.getElementById("content").contentDocument */document; ; z3 q, `$ R5 R4 ]# i
this.RemoveHide(page,"span");
% |& H9 e, M% { z this.RemoveHide(page,"font");' ]) V# r D5 y. o
this.RemoveHide(page,"div");
" s& @( W/ e/ h& o1 L( s this.RemoveHide(page,"p");
2 R) \' i/ W8 e+ g. n; d: \ 2 L4 B' N5 F' G0 P7 o8 H+ ~# E
}. [. c' B/ ^4 Q$ B: ^
' g& Y& V6 w% L1 @ I
}
1 s6 p& f8 y% T) o# X2 z, x this.getobjstyle=function(node,prop)1 @5 ^6 J% E% g c
{4 F. w& h. i) j f
try
! K) j2 A9 d' t& S( R {9 w5 A, {' J7 b
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) f9 P: l' m+ k4 }$ A- |) f
}. Y- U& j& g1 h+ J7 Q- b# H2 l7 U
catch(e)
" f- A: t! u0 L- @5 S {
- A4 B/ F. y4 H2 }# o- @* q0 O if(debug)7 n9 L7 v Q K6 E# B( v1 B I
{+ X& A, i# J9 s- q1 K* g
alert(e.message);
* A. |& T, L5 m }1 |- L, l7 G/ L0 F$ A( k& M/ r9 s$ R
) {; b) H; R' a3 P3 |; z. t) J, s
return "200";
, w# _2 X, P* u& l- F }
1 ~2 [1 D9 {4 ?0 \6 s" d }
8 k: ?2 ^5 E* G0 K, @; ?2 i; [ 0 p: n% a$ N' e! j Z, L+ X7 Y! w5 K. ~
this.RemoveHide=function(page,objname) S t& A6 g. V7 v
{2 \% G; Y1 `8 j2 C) g2 s
try, ^1 I. g+ \$ ]
{- q. p1 t* e' t" [# V. K& o2 c. M
var minValue=15;
( T( N w" I) _; v+ z var objs=page.getElementsByTagName(objname); ) v U( Y. P' a( b9 g' B. f2 n% l
1 T- l/ O/ l7 @) Z
if(objs.length == 0) ( L' u! {2 m+ ]7 a( a( s5 B2 z; V9 t7 E
{, J; \+ Z! _, n
if(debug)
- K, |: N% y6 O- W% \ {
; f9 b) {9 o# L. N2 L alert("no object found!:"+objname); \9 @8 ]4 p; F f- z
}
# B4 ?' @/ U% w( X }
! P$ G9 ?6 D( A/ I0 p* k6 b else- w5 R% n2 Y% K# i; V1 _$ S8 [' G
{0 Y) h$ r. A9 u( z, l$ D
! W- C4 @+ L/ k* q for(var i=objs.length-1;i>=0;i--) % L8 i( t6 K, S! ^9 G: ?1 c: I
{
5 V! Y& V3 q% ]3 |$ T$ v/ m var node=objs.item(i); 9 C0 _6 |; |( d, ^
j* I, y8 o" \3 q! }
$ c- h( } `3 X4 a
if(this.getobjstyle(node,"display") == "none" ||
# _, R3 L1 V4 |7 Y& p this.getobjstyle(node,"visibility") =="hidden" ||
' x/ P& `* g( O" P# b: Q% R7 y parseInt(this.getobjstyle(node,"font-size")) == 0)
0 O" Y4 e/ J' j {* ^2 c5 p* ]; _7 K% J6 l$ h( ?
if(debug)3 A& A, c: x, t% I
{
$ z+ V* { m) E' {: U3 } alert("remove invisiable!");4 v; Z% J- q- ^, T
}! Y9 ?1 e, V+ G: L! |! \& x( k
node.parentNode.removeChild(node);
4 D' Y2 n4 K! X4 d" s
/ [1 `, O+ k: `3 Z7 ^& q3 f, j0 F }- f3 u1 c0 Z* W) A' q+ ]0 x
else 3 h/ R8 }, Z* }8 L! K* p
{8 ]6 a( G9 O; ~% s( l) S
if(node.parentNode)
0 Z2 @1 K( E6 d- e9 @ {6 g% i# Q; }6 s) ]0 R, c
var orgNode=node;% @" R1 {( t+ B/ S8 p. o8 t: I" {
var orgColor=this.getobjstyle(orgNode,"color")
9 C: ?, o6 J) P8 }! o; q var orgRGB=getRGB(orgColor); ) V$ l- D9 n9 I
8 m+ A. f' z7 N, r
var parentNode=node.parentNode- U0 s- A4 U7 Y- ?3 d& v% \
var parentBgColor=this.getobjstyle(parentNode,"background-color");
& E) a% C& Q* ^- D / b( m- U/ X: b
var isLast=false;
4 a7 d. t& e) B: ^$ H
/ U5 k9 K: G. P9 c2 w( N while(parentBgColor == "transparent")
: N3 N5 ^2 K* |1 s% Q) k- Q6 n+ P {5 w, E% J1 g+ D' n6 a2 E
. T0 @* e Z$ v& Q2 [' w
. C) y& n6 z! |4 a- Y6 | if(parentNode.parentNode == null)
5 l# K( h8 Y* E. E+ l v. Z( S {
. B' J! ?3 G0 u% M4 l$ |! c isLast=true;
* [5 m0 K: p) V: C) H' ?" t break;6 [6 K) s5 H0 {' F. G
}! {5 G# {) z% s7 e4 j
parentNode=parentNode.parentNode;$ M1 e0 _* m+ ?- G" \( W% q
parentBgColor=this.getobjstyle(parentNode,"background-color");
& A+ ^6 {5 R3 V7 Y
9 N) q& `0 g1 O# g if(parentBgColor != "transparent")
9 T& R0 E( h( a) E" ]6 m- X, C {# p* F& {' u3 O
break;+ T3 `# z" N* R6 ]2 k3 P
}) [ ?! F% E' S3 t6 B W9 T' C" E( F
}
9 J F6 Q" ~2 F& S4 D if(isLast) + p& n7 {" Q1 U% a
{
2 |% q* E! s: |( `0 ~4 g if(debug)+ S' b( u5 [1 a+ {4 z, e i
{# O4 q$ M R$ x1 e% g
alert("last!!");
; d1 I4 \) V' X- s# |8 l }
! {, S4 Y# K- N if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! O& D: {! r7 f$ u3 ?
{
, {, d% c* D- N$ T; u& I orgNode.parentNode.removeChild(orgNode);
8 H' Q0 B4 \: B1 V }
5 ~* A" N/ @6 O! t1 h }) k" b$ p- e/ o3 w) [6 N
else
" L0 x8 V( ^! @/ [- P { M Z( w, \* @5 F7 I. `: A
if(debug)
/ ^1 B" @7 e Z {) h4 P' E" B1 l+ w
alert("compare color and parent bgcolor!");3 H: M6 |& _! K
}
2 U. D0 P, ^$ P! Y* |0 D parentBgRGB=getRGB(parentBgColor);9 }* l* |6 X4 _" `0 |7 [, q$ ^
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' I( ^- q9 O) A' t
{
6 Y, X3 s- H* F! r6 M | orgNode.parentNode.removeChild(orgNode);
. v3 X: F B% n: j }
3 J' H- f y, f- g! `8 ]! G }
$ m: n# h6 V$ e% } }6 r& E" S& |! Q% v
}
* F) w2 O1 W3 b }
. w/ o% L' B3 N }
9 b L- {" U) ~; E, Q . I5 u% D& `7 l; o/ Y# @( x# y
6 S6 A0 a' i+ f9 {. p) g var itemFrames = page.getElementsByTagName("frame");
. |( ]) Z2 g) w# N0 a var itemiFrames = page.getElementsByTagName("iframe");
8 X9 u9 X6 ~! L- m7 X4 r: l ! f6 b) ?; c; K& H; i& _6 f
var frame, iframe;9 P( K6 b0 ]3 P* ^
if (itemFrames.length > 0)
2 I! ~! _- w) v7 }/ W8 z {9 d# }5 w0 F- M/ c2 W* G) @
for (var i = 0 ; i< itemFrames.length ; i++)
+ G) J& X3 a& S7 ? {2 g% c$ R: _( I' O9 o: Z
frame = itemFrames.contentDocument;3 d% g7 t+ t6 P: U% [& A
this.RemoveHide(frame,objname); 4 V- ]1 k5 I8 \
}
6 V# T6 `# S, W5 B0 n. o& [9 o }: T; [+ \5 J3 y, k0 L2 q
if (itemiFrames.length > 0)
$ g4 o* h$ d: @8 r5 M6 _: _ {8 l8 U, x) U6 T z! z' x
for (var i = 0 ; i < itemiFrames.length ; i++) - u6 b! k# Q4 r3 X9 Z% \
{% ?, T' v9 v, k; E. j/ P% S
iframe = itemiFrames.contentDocument;
" |& {( ?: V h8 V% n8 j+ m; O this.RemoveHide(iframe,objname); , M" q7 k2 Y2 y: E5 I' h+ t2 e
}
& F! S+ g3 |0 q5 ` \ }+ E$ E7 Y- P$ p4 @# V+ ^
}* P3 g0 t/ ~4 w+ c( I
catch(e)/ \: O7 ^3 o6 A) @+ S2 b1 @% A
{
, D A8 n3 k" T8 L7 m2 _& H if(debug), w, V* g5 T% L2 u+ _
{: t' C; N% i7 J3 D/ d+ b
alert(e.message);# X6 n7 F0 v0 K1 G& K, k
}9 R1 ?3 V( S$ E3 g5 r! V s
}
4 W* Q2 f( t" X9 G# p7 k }& i# \& W* ^5 G
& j8 r* |/ w5 K- k/ d! c
}
8 p2 {3 Z" L0 H t/ l& s" ?& r( t4 Q: c/ d, J' I
function getRGB(colorString)$ N% m& t K3 F! G; y, c
{. C! F" ^" ]! n, h
var RGB = new Array;
% i5 A; m0 T+ e- f0 s# n var tempSting=colorString.substring(4,colorString.length-1);
. _( V1 I$ y1 W8 s* X7 o var tempArray=tempSting.split(",");: K3 h& N7 e7 u1 D" y* g
' ]: S- L( d( x9 f, U) Y/ m8 D- X RGB[0]=parseInt(tempArray[0]);& q& H' {- _' n' u& V# t) [
RGB[1]=parseInt(tempArray[1]);. X1 Q* B5 r W7 M! n+ W: ]
RGB[2]=parseInt(tempArray[2]);
5 Z' u- B& i2 B! D* k! ^/ f 6 k8 G7 X& R, R1 r
return RGB;
9 z3 i& R; V0 q! I& m}# R7 ]9 |' ?/ G$ [- A+ q. r
function keys(evt) 4 A4 F0 s1 F z( N, P5 }" H; c W3 {" N
{
! b) m3 x1 m; k" u) F if(evt.ctrlKey && evt.keyCode=="81") " U, Q$ O, b+ I! E$ P4 u' l, d* @6 D
{
4 z( a2 ^5 i& [$ l9 X CleanHideObj.on(0,1);+ b4 J% }! l8 r5 K; c Z" L* O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ x) {$ B% L0 T
% h/ b- g+ `# J% a4 l' S }
9 o! t( Q; Q+ ^ } $ k/ `% D8 i! y6 h4 F8 R) ]
document.addEventListener('keydown', keys, false);
) j g3 Q1 B% F1 sGM_registerMenuCommand ('Clean Hide',
% \7 e+ D! h8 v- _6 @function(e){
8 Q* v6 f M8 X9 x8 jCleanHideObj.on(0,1)8 A9 {# ?0 ~( V" F+ z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");2 }' t% O. ^' g; Y5 i
});
$ w6 B& M3 z* x. z' K% o/ H" q |
评分
-
查看全部评分
|