|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
g: y$ z9 d0 M* B) u& M% |) E) f4 e% h# W3 [3 E4 |5 X& M& q& G. ]+ w
火狐插件,用猴子
* E1 F+ W+ [) j8 p1 q
% P d0 y: F; R5 H9 _9 z7 rvar debug=false; 1 X1 e: g9 `2 J& Z2 V
var CleanHideObj=new CleanHideClass();9 X7 a/ ~3 n! r n3 u
' p5 t. F5 `# @7 X& |1 I6 Pfunction CleanHideClass() . ]" c. M8 F" ?/ Z9 u; q* b# C8 O
{ 9 G7 G$ Q. A' U3 O! d4 O/ ?
8 P7 j0 W6 O& N' _5 a% p this.on=function(id,bMZ)
u( a( F" R% _& ^. J4 ^( p8 u' ^ {
& w( M6 s/ Q' [: m
7 L* v, s/ d: ?- Z9 l R. d6 S/ W0 x( O if(id == 0)# [) q. C( ~4 q" |3 ]
{8 y: j& ^( D, z! W
var page=/* document.getElementById("content").contentDocument */document;
( x7 t Z7 }5 j, ~ this.RemoveHide(page,"span");
6 i& h5 Z/ T+ r* e9 A this.RemoveHide(page,"font");( ^9 l# W& a, n1 A d% c F
this.RemoveHide(page,"div");; J& t, p, q( g9 F, X" p) w7 h% Z
this.RemoveHide(page,"p");
5 ~% ~( p: v' h8 j5 R, [. Z. ^2 J; @
6 S: P$ s7 H2 c- b( P }/ w9 H: G0 k# c$ `: o
) f$ ~ m5 @+ _: N1 ]
}
: M- t8 U$ z1 u this.getobjstyle=function(node,prop)
$ t% G& q, c% A4 E1 g- _5 R$ m {' h; P% T8 y5 k
try9 ^ u l) X6 r4 s% ~' Y
{
* q8 Z. L5 ]/ J. v% U4 ~5 R return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 Y& S0 m1 a9 {$ a+ O) J
}
N4 x3 [0 t& o. U5 ^/ v catch(e)
; T5 y+ [) A, l1 y! | {
+ P7 W: U" u5 ^6 T0 V) q! O8 r, Y if(debug)1 f1 Y9 l1 m( Z- ^8 V% g
{8 n: B' F1 t2 T' a5 c
alert(e.message);% Z9 C5 R& W! ~ W1 k. d4 k* M
}; o" f9 h, {! h, C( F& S
5 _# H( w$ K' v7 f0 i% w return "200";
. [# j% q2 q& f }! X0 r" S* z+ a8 {' @
}
9 W6 J2 u& _0 I: u2 h7 N% H' S 0 I. u4 \8 n, ~8 u4 ?
this.RemoveHide=function(page,objname)5 W) `, {! ]8 B0 @/ i+ k1 j; ^
{
1 q& x6 C, \8 m: I' d try% s: x! |0 R ]. O/ s0 z# {, A
{: Z+ Q7 C3 j8 E: n# p# z
var minValue=15;, e5 \# o) t8 y* D- d% Z j
var objs=page.getElementsByTagName(objname); ; f) u; I" e) N/ o4 h; ?
9 @ h" C6 n s if(objs.length == 0)
" i/ C d$ U3 A6 ^+ K2 E& R ?& z {
+ b4 o$ n- S9 |( I! G if(debug)
9 X7 z2 o* c9 {. L5 u {- W5 ?* b/ | p7 k4 o
alert("no object found!:"+objname);6 W8 q& f4 d/ I: H. K! \2 |3 z" l- `
}+ P/ R0 W! X+ ^
}
1 T# d+ F; i/ ?- N else
1 s* R5 v0 X# k& {2 h6 b8 X3 [+ V {
+ i3 Q- m" Z$ P/ G, v7 E 5 |. s) P9 p3 {2 x9 @% ]- a& v
for(var i=objs.length-1;i>=0;i--) * K+ z" b4 h' f
{
& j! b, g' W& A var node=objs.item(i);
- u# L- B/ ~& K 0 E0 b5 s2 f+ K; V d0 E
0 ?" A b, `. W4 |3 N3 N* V if(this.getobjstyle(node,"display") == "none" ||5 I5 y! M# q, T3 j3 f* u( }
this.getobjstyle(node,"visibility") =="hidden" ||; o" q$ ]2 [" T5 h' R
parseInt(this.getobjstyle(node,"font-size")) == 0)
3 \; N; j1 q% p9 o$ W { f. d, g; l' j" x
if(debug)5 K7 v+ X1 r/ W$ x& ^
{# I# _ j: q4 l! w
alert("remove invisiable!");
2 f' l7 i$ }$ u }* \) _/ F1 ^) i
node.parentNode.removeChild(node);/ R m2 W/ H- i$ c
Y( M8 q; q; a1 x" \0 H& R }
) N( ~6 {* O, O8 O) ?7 j3 h+ F- Z else
7 k3 W1 L# D. \2 g& h/ j6 r2 y {
s. v" ?3 {) a1 L9 b if(node.parentNode)
( i; o0 @4 ]# |) L {. n, z+ L$ y- p- n. q$ y9 e3 v
var orgNode=node;
* ~ R1 E5 D# l n var orgColor=this.getobjstyle(orgNode,"color")
4 s1 H5 G; {2 A3 \: i( J. @ var orgRGB=getRGB(orgColor); + q3 U6 K" \; t
0 ^: r" V4 |# Z% e- b0 g
var parentNode=node.parentNode
( r1 w# L1 w$ L, }5 C; j var parentBgColor=this.getobjstyle(parentNode,"background-color");
) A) W* Y; q4 a+ B g* _, W1 ~5 P + [ ?" W/ \& ^7 D& {* ?
var isLast=false;# J9 u0 r! J- ~
# F; U9 |# b, p$ @7 d1 s
while(parentBgColor == "transparent")
5 v# Q) T: O4 L! i {- a% ^9 p- c- I! a0 k
* u. @$ f+ s( W5 b2 B9 |
" s* {% X4 P5 Y; J if(parentNode.parentNode == null)) P) ^! V8 d8 ^4 `# g( [* r
{
" p3 I7 ~2 Z3 }9 ?: l) j# t isLast=true;
4 O) I3 {6 M& G break;9 I8 z9 x8 } H7 U( Q% M# v$ B! d* x
}& Z, j }+ i+ r- g2 R" L
parentNode=parentNode.parentNode;
/ l0 C3 B" G |9 b, F4 h8 W* U parentBgColor=this.getobjstyle(parentNode,"background-color");; E8 |9 L( E D! f! X+ k# N7 u' N
3 C6 B7 P5 W0 {3 T9 W
if(parentBgColor != "transparent")
$ V& I. W. L( ~4 r; X/ e& y0 U {
9 ]4 @% W; ] h break;+ Z& t& D; K1 ?7 @4 r3 ^' N
}
$ C* [3 P& O8 j2 F! W" H8 g5 O }) D2 d% Q" K, Z: q
if(isLast) - B) C& m' V* ]
{, f& I. v! a( J# S
if(debug)
+ T, ^) @: {7 h% U { K5 @! ~6 L" ~" Y7 D, y
alert("last!!");9 E1 c7 Z: u- W" z) _) l% a3 |
}: p/ Q R }7 U8 o
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 Y. ^6 L" b5 z& b/ u3 K9 V {
2 j3 J% R) h5 D: c orgNode.parentNode.removeChild(orgNode);
! }) i7 Y( U: m) v; [7 m }! X b0 Z" j7 ?
}2 W) G4 U4 E& d$ h+ v$ m6 R
else
. s# F2 m) M# J+ D {# o1 ?: y; O$ J, Z* ]& v/ `
if(debug)+ F8 r6 l2 V5 G# ?& i; |! ~' a$ c
{1 [' C; d* |* E- p a/ f
alert("compare color and parent bgcolor!");
4 \- d; c1 Q q1 }; q4 V } R+ S+ q3 P9 ?5 X6 w; G v
parentBgRGB=getRGB(parentBgColor);
1 }- W, T& s& W2 Y. I if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# A5 I) F$ i1 Q3 F& }& V2 O {, M3 j/ Q/ |: w$ r+ J2 E* `& ~
orgNode.parentNode.removeChild(orgNode);
% u( s! X0 h. e& @: i6 h& \, n }- W1 v4 o9 M) V. ?3 D. w0 |
}
( Q0 M; M4 }3 e }
, m. w9 \# N7 `- n) p }
7 x5 i) V9 T, Y# E% Q$ d" l, ` }
! o8 }9 L. f0 s, v }, s+ Y7 ?7 n& G2 n- @
) @! s: f! A( E6 X9 B F; r) a 3 e0 e" L; e9 C
var itemFrames = page.getElementsByTagName("frame");5 h3 p) G c6 N* N
var itemiFrames = page.getElementsByTagName("iframe");3 D/ |& e: C; x! U: m
4 [( J- [6 ]2 Y7 K var frame, iframe;
+ W6 D( U5 E% K5 W/ P0 {) d if (itemFrames.length > 0)
4 x' `5 _) P4 s {
/ t; L0 W, I a) S L) M' l1 z( z for (var i = 0 ; i< itemFrames.length ; i++) $ o" Z" H6 J- R5 P- t
{
& x; n3 A, C0 B9 j frame = itemFrames.contentDocument;
0 P! k0 M) x/ X, d! E this.RemoveHide(frame,objname);
! H" s7 k% L0 Q/ A8 z6 z) ^( P }
9 e2 v, ]( @4 S6 `8 |. V }4 o7 w5 q! P; U4 c: l
if (itemiFrames.length > 0)
, D' n7 \6 v( ~; E) ] {
$ i4 O1 j* e+ E+ S. D for (var i = 0 ; i < itemiFrames.length ; i++)
4 I# G7 M" X) U4 D6 S, y {
2 v$ k$ x5 K$ p! l4 R) Z# M iframe = itemiFrames.contentDocument;
$ _* L( m" r3 ]0 c3 Q2 p- e this.RemoveHide(iframe,objname);
1 S. k8 `' w: `, Y3 n. X }
. p& k( Z8 J$ j$ } A }
8 l( f- F) G( X% z5 t r( {- m }
& e) S7 \6 x" Y0 I. | catch(e)2 m6 b9 z, y0 L& k: h/ }
{
& d4 _7 P6 d7 I: E" B {) k if(debug), |: A5 E# }/ ~; G' x
{
M" S2 c2 \1 _5 k( i9 J) y alert(e.message);: Z! r# @5 W) N, y$ c8 n
}0 j* w) _5 D# ]; A# \6 f; K
}3 ?. o7 R% l* N2 s' ?
}6 }0 j9 E- h( e' d' {; t
2 P2 I* c0 C2 v# p3 ?* J1 f! I+ W) f5 |}7 h) q7 c' }: n L. [+ N
8 D! }6 C$ a& a4 ]) ~# K/ T, ~: m) Bfunction getRGB(colorString)3 n% T: q3 z) E Y3 d8 A
{
* q" f" b% j, }3 K var RGB = new Array;) u+ s" r# q7 @5 q
var tempSting=colorString.substring(4,colorString.length-1);; V; ~6 @4 I0 @2 W
var tempArray=tempSting.split(",");
) E1 ?) i; T9 i6 t$ m1 O( j& S3 A* M8 n) s9 g9 w
RGB[0]=parseInt(tempArray[0]);
" p. o# ^8 l, q2 J5 f( C* u% n4 A RGB[1]=parseInt(tempArray[1]);
H# d8 Y2 f. P, ` RGB[2]=parseInt(tempArray[2]);
1 r! t0 Y/ _6 s) Z2 h : O; _0 ?4 T3 [% s5 }
return RGB;' T. G5 t* [; s9 P4 k; T
}( x$ Z5 V' l# Z4 R
function keys(evt)
/ J6 H9 J9 P4 C3 ^ H {
" |( z# P# `! p5 [& ? if(evt.ctrlKey && evt.keyCode=="81")
' m, K2 G. h8 }4 g$ r+ H N1 k# j { 4 O5 @$ d2 t7 ]0 b7 F
CleanHideObj.on(0,1);7 {$ K/ E) U% c' |/ H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; e3 ^1 O8 L9 v' j% d: e3 b c. f
1 g b# f1 x& E) k
}
# |$ {4 g* q* ~" t& F2 m5 e0 G; O0 V! g" A } / N3 D) f% J/ i" d8 {: Z& p
document.addEventListener('keydown', keys, false);
9 L+ [) e2 U& NGM_registerMenuCommand ('Clean Hide', X* \& ^& ?; E; R7 U
function(e){
$ g, \0 ~# z0 c |- f8 q: I" _CleanHideObj.on(0,1)
* Q6 {0 o- C6 q$ J' A; n7 }, kalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, ~6 o- U" f" l$ u6 L. d
});% L; ~" j9 s/ Z1 g4 j% m" f7 z! n
|
评分
-
查看全部评分
|