|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: c, @' W0 A" m* k, M( X, x3 X3 N, F. u" Y/ N
火狐插件,用猴子3 B) G& v) f( t* I/ D
/ i4 t9 d1 ]4 K
var debug=false; 3 s. o( ]1 e* X4 o+ ?
var CleanHideObj=new CleanHideClass();7 M; W, c* @$ s- O
& P8 l# C( \$ l4 {4 p' U% V
function CleanHideClass() # \2 W; a7 j6 X) G" B( O
{ 4 F! J, D) b1 p
3 i) {$ {% G, m0 Y5 n" P this.on=function(id,bMZ)
r% w5 y5 I& C) d {
* G( O$ H- m+ D! R6 a m
A* b4 h: _7 |* ?$ W if(id == 0)3 H: e, V- O3 @7 p0 v
{+ `& m! R, c2 d3 _' j
var page=/* document.getElementById("content").contentDocument */document;
2 D) p1 u' r* v this.RemoveHide(page,"span");
- w. m- ]2 l. T3 u& f this.RemoveHide(page,"font");1 h" U7 m8 K- H
this.RemoveHide(page,"div");. k N* {9 q; N- V
this.RemoveHide(page,"p");6 [$ \$ Y" f9 A
# v9 B$ Z( k! [4 o- A$ C/ ? }
( n: x) \. _! N3 H) x 5 `: c8 s- B6 S* s% u3 u5 p2 \
}2 c: A' {. E: l, F8 i7 y
this.getobjstyle=function(node,prop)( i; b/ `% P" d
{+ ^9 e: `1 w) R' ?: j& P
try
7 D1 k' H2 U8 k. ^. D& D& M5 @- j {) R$ F! C0 }. C
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
: Z& Z" b$ T- l }
" w7 B* K/ z6 {8 Y catch(e)2 R0 a( W" e7 N1 Q4 m9 g- Q
{0 j1 W( g8 S) P, s7 J. L# d: h5 G( N
if(debug)
# ^, Y9 A; B9 C. C9 j0 [/ t {
" D+ I4 Z) r e3 N% X- k6 H+ g alert(e.message);
0 Z! J7 R6 m: w }$ `2 p$ W1 v, C! T( K+ B2 E/ b
9 N7 j, {- ~( c return "200";
" e+ U: k+ b5 h4 G6 A8 J$ Q }
8 K; Q8 x8 r5 F. M N6 | }; P* V2 b I) W2 H( e, D
, W z! L+ {6 r( a; P7 a this.RemoveHide=function(page,objname)
A ?8 C' K! F# c2 C1 e4 J/ H {. I! y" ]1 Z) X4 v1 Z: f
try J ?7 V) C% N! d
{
" t- O! R5 O Z9 B var minValue=15;; p( S# F3 n, e( a+ z
var objs=page.getElementsByTagName(objname); $ E- V& w( T9 A2 n( l' `* E
9 o$ s+ i# p7 M+ Y- l5 U4 w5 d
if(objs.length == 0) 9 A% I9 R2 K4 u' E& x4 g
{7 C! ]% v8 o# Y R# R' m& `
if(debug)
4 W' E$ K+ x1 j4 q! L {3 y, T7 k8 B, t# ^4 |& H
alert("no object found!:"+objname);
0 D! s) N1 V# c2 N3 y* @" f }
! k: c, e4 M9 M8 V% Q }2 a! a5 O' p7 `8 r! T/ o
else
/ i) t9 D0 K3 F/ z' m9 n1 ^ {
" ^2 m; T" k0 q/ R7 Z f , u' S1 @+ Z! P8 v# l, n: a
for(var i=objs.length-1;i>=0;i--)
% W( l1 _3 Q2 y3 y) w {: _. g* |" l, X3 n+ e1 q2 v1 P
var node=objs.item(i);
- Z- _" q7 U% [% L' l 6 B5 c \2 \% g6 |1 f& c
$ p8 t' Z6 {7 G5 ]0 K
if(this.getobjstyle(node,"display") == "none" ||/ b4 W1 K9 \2 {3 s' u
this.getobjstyle(node,"visibility") =="hidden" ||+ f& n# k) L7 a" c) k5 a. X6 ~
parseInt(this.getobjstyle(node,"font-size")) == 0)
E9 j( _& p" G, K, w4 N- k {
3 ^ R! y( n3 D if(debug)! Q# k: t) u- }" r7 p a
{
, ]' m. W5 V/ W k0 s alert("remove invisiable!");
/ A- O) ~1 L( I# ^% X7 f d! q }1 V' Y* y4 |1 m4 J# v
node.parentNode.removeChild(node);0 G* d+ w2 a5 _. T
- }' V" G/ i6 C0 r) c
}3 _. Q: M7 q8 N
else
' t5 c/ {% G1 x/ \ {
: ~1 M$ W$ }; G6 f; W% {/ i' u if(node.parentNode) , Q# x7 Q8 A$ r
{
8 j' G3 T+ T( l: A0 P5 C/ F. A var orgNode=node;# x8 j! O& z+ K1 w5 o# L: j
var orgColor=this.getobjstyle(orgNode,"color")- G/ i: K, c9 {, F% B7 }
var orgRGB=getRGB(orgColor);
& @6 a3 r A6 J* S) C s
5 j9 D! q4 n2 k. S3 z var parentNode=node.parentNode
' T# D1 @' r; Y9 t var parentBgColor=this.getobjstyle(parentNode,"background-color");
, I( | _) X# B4 v + Z- w! ` T* N
var isLast=false;
# s* i& G1 m9 h( @# _# U
$ q* k/ M( b% K2 a! W" q; `& L) v# F while(parentBgColor == "transparent") $ b$ e; a4 p7 ]$ X" J! z
{
* w' g' j) ?* z# }: e/ L2 |8 ]: t3 |
' g# H; c& i/ q$ _6 J1 { q 0 g4 L) ~" C1 x& J) b q. n
if(parentNode.parentNode == null)
0 _' y, Y* T) g9 i4 L2 y6 i {6 [) \ L8 c& a# p) S
isLast=true;: ^4 r9 P. B a& k( h/ K
break;
# i2 W w) j" D2 M$ D) x }
7 o9 E& ~- v1 J( ^5 d! p! B parentNode=parentNode.parentNode;+ ~* y1 k. r9 z; v
parentBgColor=this.getobjstyle(parentNode,"background-color");! t. M6 r6 w. \. X+ D) F7 ?6 s
6 J( `# b/ q/ |" s
if(parentBgColor != "transparent")
' b. ^% Z- {9 x5 G {
7 n0 ?% _, z' c* p# i' M break;
6 E8 s$ f; k* j* T" B G5 G7 y }
, h0 R6 _+ r' }: } n }
$ B8 }2 i a7 P7 }, n if(isLast)
* Y, F2 v3 \5 x2 N R {
5 @' @: a7 c2 a. \ if(debug)5 K8 w" I" o- \; |" d. k! W' k
{; H' d _$ o$ d0 d9 `& R5 u
alert("last!!");
( A/ }, d% i) Y* T. Z }
# w( R( ]9 L- w0 r if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); r6 I7 ?# f. z" v
{" q% h1 e: D& ?! A
orgNode.parentNode.removeChild(orgNode); 9 ~' e+ b- _1 O& C8 b D
}2 h/ J0 T" K0 Z8 Q G! m: f4 G
}9 f6 j6 q1 p/ H' A3 X
else
& x+ B7 ?8 x# Q; @0 Q {8 y* t, W& G8 r0 D1 i F
if(debug)
5 y' N- N4 G i x8 ~ O {
7 Q! d( m3 n! M alert("compare color and parent bgcolor!");
% ?4 h& w. q) A- s. Y P% Y }
6 e5 q# { t9 s parentBgRGB=getRGB(parentBgColor);
) W+ ~; h# L, p1 o& m- ~ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)) Z+ p0 C; |: J c4 e
{
% Q4 j; F' M7 D$ ]5 b5 U, ]* z/ C orgNode.parentNode.removeChild(orgNode);
8 g, d0 F$ Z+ X \ J9 C+ { }0 l: f8 c4 h6 n- K" n6 q' ?
}
# u4 k* d7 w( h4 J1 L }, y6 K% i, d3 c' E: X
}
( I% p7 i4 M+ w }
" p3 x9 T- d0 g1 h }% H" W* z/ L+ L/ w- o3 P! A
7 t0 Z- m6 x# c
* p, ]3 S/ {) m* B var itemFrames = page.getElementsByTagName("frame");
4 F% \5 B3 V; ?$ e var itemiFrames = page.getElementsByTagName("iframe");
s! n9 x; S; v& N; Z y3 d7 s1 L7 T' u
var frame, iframe;
9 R [8 A8 D2 n" ^# M4 O+ w if (itemFrames.length > 0)
0 ^! L: ~0 F& p5 u3 O% y {
: k1 P. [# B: A( C2 p$ ~ for (var i = 0 ; i< itemFrames.length ; i++) + c4 Z- i& {! }
{6 l- L& m7 u1 i
frame = itemFrames.contentDocument;
1 F& V, o0 B/ [: ^% ]2 b5 M this.RemoveHide(frame,objname);
; W m- \( A8 o }* ?- K2 p5 ~% e# R# g8 ~1 b
}
. l6 I& R5 R2 e. n/ u8 w8 n- ? if (itemiFrames.length > 0)
9 S: p; L. p) X- W, f, ~; [ {! R- E$ {" \5 @
for (var i = 0 ; i < itemiFrames.length ; i++) * D- @# M1 x! o5 [5 l
{7 S/ V7 O. u2 h2 P. [& J
iframe = itemiFrames.contentDocument;" f' f- H* U' c0 O; ]0 l) s
this.RemoveHide(iframe,objname);
* L M0 ^5 _) f0 D& v! Q) x }" U; d0 X; r3 K G
}. x5 f' t: G. ]% S$ Z1 j
}
9 `2 F" H% J; y! ]& \ catch(e)
F8 }+ u2 v; g6 G {
2 `# Z3 i! P U9 J, ]3 V if(debug)
$ K: X p( t: f3 M9 Q: f3 v& T3 g2 E) P {3 W* W/ i' v/ e8 l
alert(e.message);* W3 ` X3 D" w2 h9 O; G
}# s8 q- k, S! f0 x1 L
}3 f# ?7 y2 k1 E% i& S1 `
}0 z, A& J+ [7 Z
* X0 ?# X7 T# p& E, v/ v# L}( t Z) v9 s! \1 x
, L5 [- M1 ^, ? s a
function getRGB(colorString)
" k( m5 _; _7 w0 h( R' C: a- Q6 E{
5 M7 J6 N8 j) B var RGB = new Array;! a8 o* h6 L/ a* y/ w' ]7 n: z
var tempSting=colorString.substring(4,colorString.length-1);
, I' i2 `, [9 t4 P( E- x- n var tempArray=tempSting.split(",");
1 w9 L' h$ ~3 F4 i
9 Z4 Q$ i! m9 X; i) z RGB[0]=parseInt(tempArray[0]);2 j% U+ e! m' V& s2 ~
RGB[1]=parseInt(tempArray[1]);6 K2 b4 b3 H+ G* |( y6 B
RGB[2]=parseInt(tempArray[2]);
+ f: C, q: g9 P4 Z / Y0 s1 t; x% x" j- X H" S$ B
return RGB;6 e& e( D: y0 \7 V" N. [8 \
}9 i! C ~+ ^& ^; T, q
function keys(evt)
, p+ c# J! P* {! w {
& L) z! V5 q/ _9 y% [- C if(evt.ctrlKey && evt.keyCode=="81")
. A0 } ^# s+ D) y8 J( C) y { - }% p# M& @* e+ V1 D
CleanHideObj.on(0,1);
( D/ K, v( M; |' S alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); / O4 |( T" P" A5 k
9 `5 {+ u. x! J( c) i
}
H# C6 [( R) j, v) O } 2 h \0 {. g) f, I& B% |7 {
document.addEventListener('keydown', keys, false);
, D8 D# W' k: Y- \: A% X" Y& M7 ?GM_registerMenuCommand ('Clean Hide',
/ G/ Y* Z2 c; [! v4 u! [1 Tfunction(e){
& N! U4 H* `7 a PCleanHideObj.on(0,1)8 ?- \4 \; q4 e1 B1 Q+ E+ m2 a; X$ s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- Y6 e, ? D' K% Y
});- j0 E; t8 j( O
|
评分
-
查看全部评分
|