|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
4 M. E* Q+ P5 A( g4 u8 Q7 k" g, b8 [$ b8 \. q! b! o/ v. b
火狐插件,用猴子- M6 `; ^/ ]3 [ u
6 Q o% R1 L. {/ F* b0 `var debug=false;
4 S% l$ |1 h" r! avar CleanHideObj=new CleanHideClass();
& [' }6 I7 s1 t& O& d! X1 v! p; r2 s9 v. c2 G8 T
function CleanHideClass() 0 } z3 q1 j1 L }8 _4 b
{
% a& v/ r9 Y% D: t; c* `
0 G/ j6 l8 i4 l! r6 s0 w this.on=function(id,bMZ)# t: H+ g1 E$ i$ q: z; U( I7 S5 f
{
" |# ?/ ^0 e- |1 d8 n2 b3 q 2 K i! Q/ l5 e2 N2 J
if(id == 0)& t! B6 l4 e4 F( U9 z( H3 t
{* j) Q% C, w. q8 q4 D* n+ I! g
var page=/* document.getElementById("content").contentDocument */document;
0 D6 Z, \+ R: }) p6 L% X/ O& a this.RemoveHide(page,"span");2 I% E' A7 S* w* A, M
this.RemoveHide(page,"font");9 P5 g) U8 I5 G1 ~- ^
this.RemoveHide(page,"div");
U" h8 |2 H4 i6 K& T/ w# M this.RemoveHide(page,"p");
) K/ o; J5 X' F/ j
! H/ V/ e; S" ?6 v }
0 a* l& U1 }7 \; Q 2 Z! s" v% x6 ]' z; T
}
$ v3 r& z) w6 }4 ], v this.getobjstyle=function(node,prop)2 n$ ~5 k" [ j2 I# e
{4 D0 S/ N; l# v0 w
try
$ f+ h& w5 R3 {( w {! _) x# I6 x! y+ K* u9 b! }
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 k: z @5 R( R$ F
}2 D5 j9 J ]; u
catch(e)
- C( j1 o4 A+ s/ |1 A7 L) ^ {
% W' y3 l# m b3 ^ if(debug)
" s0 o, U2 p- |2 {2 b* n {
" c5 v F9 ^ C1 t/ t* K l! o& t$ _ alert(e.message);9 A+ D6 l. Q V, f" |' [# M
}
3 C5 R7 X! b, u4 W( a# Y' W9 C8 Q3 T - {7 w* p) d. ^. v" H; ~( c
return "200";
9 s! A$ _$ C; a; w0 c8 R6 M2 U1 u }! m8 x% C& v) x* K+ j
}
! g8 w8 Z1 n) Q3 X' Q1 x' l 4 Q' t) a, v. V' h$ q
this.RemoveHide=function(page,objname)8 R# _5 V% O& w& E( i
{9 f: T$ y! R( [8 f; s
try
2 y( {+ p2 N+ u6 B1 N. Q' Y& W/ H {
. g- s& {9 a* |, {( Q var minValue=15;
; x; M) O! F1 W' D6 f var objs=page.getElementsByTagName(objname);
% y- t" t$ j- Q8 H& h j! Y ]
5 g+ B& M( z ~; d1 w' Z if(objs.length == 0) 9 `3 X5 `" l$ G& @6 n7 M& K$ d
{9 P; w1 [- @2 E$ B. L( A$ d
if(debug)3 m* }- M' q$ T1 Q- ~; ]
{3 [+ d, Q: }# `- N
alert("no object found!:"+objname);4 F1 {+ ~, c, X8 g
}
6 X$ a& b5 f, I3 o; O; d$ u( E) h }
p6 ?7 D5 m" |4 {8 a/ g% s/ e2 ^ else! S( |: c( r) w3 P# K) R3 }
{
- j0 M! {9 B" J# [
& ~$ d' _# O3 I1 c# A2 Z for(var i=objs.length-1;i>=0;i--) 0 _1 D7 P4 H! S3 o8 r J
{( h3 w) e7 ?0 q1 q0 C3 C3 L
var node=objs.item(i); $ L9 @6 f. ~+ c3 e; d
* k* Q0 R9 j# v( z2 d . E7 o" u f* M% _) F5 h
if(this.getobjstyle(node,"display") == "none" ||9 n7 Q4 N, n/ c' V8 l9 W1 O" L
this.getobjstyle(node,"visibility") =="hidden" ||
/ v4 o, c( B1 L& y$ y( C! {7 |* i parseInt(this.getobjstyle(node,"font-size")) == 0) ( E) ~& |0 W4 k
{
% F, r) X3 |9 V# C if(debug)
8 W1 @: M+ U5 s) N8 S# k {; [' T _5 O( G2 p" |2 C* F
alert("remove invisiable!");
# r0 \: ]5 z7 W" T5 Y0 u }
% G5 s5 E1 N/ [' T# S+ Q, J node.parentNode.removeChild(node);8 [3 ^! v- {! @) A# A2 L1 l& K
( t) f4 }! ~' ]- S# V0 g) v4 i7 m; J
}
, o% q0 Y# }+ x$ V( J& C6 R3 w5 | p else
6 F0 X+ r' D$ A! ?. G. s {1 ]& m# E/ u; X+ V6 M6 Z4 M; U
if(node.parentNode) - \ b# L. m8 C
{4 j# E' E5 S" A* B5 s2 i& b; D
var orgNode=node;& C2 X' \1 P/ H5 {+ P
var orgColor=this.getobjstyle(orgNode,"color"); m+ A9 q: t) Q5 W2 L
var orgRGB=getRGB(orgColor);
; ^: F m3 [+ w) Z ; x* t& `# g ~ p6 p. n
var parentNode=node.parentNode
6 D* E/ z3 L7 y/ X var parentBgColor=this.getobjstyle(parentNode,"background-color");
! s3 `, I' a8 _; X) l& i. e1 M1 U - z- ? E0 F0 R1 F' ~! F
var isLast=false;
/ z, m6 Q4 V7 B/ j0 W" \+ r' O
' U) Z6 G3 m9 v1 B/ ^' N7 a7 R while(parentBgColor == "transparent")
( l5 d5 L# Y5 o; r, d {* W" D" K: M2 [
2 K2 J# h& i7 w$ _: J4 |
: I& m9 m& Y$ e
if(parentNode.parentNode == null)0 `$ h1 e. w- U6 `
{
5 l3 q& E$ v. Z3 R* R+ N isLast=true;
9 H+ r# f k/ i" W k( j+ y$ n break;
8 V! M! Y2 `" T1 b, O4 q; k# l) _ }
~$ j7 |8 _" h. z1 I parentNode=parentNode.parentNode;
3 L+ A" b$ S- r5 F% `$ O4 E; ] parentBgColor=this.getobjstyle(parentNode,"background-color");6 `& q3 K9 v9 a$ V, y
# S6 Q! v7 ~/ @% l4 X if(parentBgColor != "transparent") 2 x1 n. B. Y" `2 X
{: w) c2 q/ w' ]2 S9 X- P
break;
4 k# ]. |! L$ l1 d }
5 O- B! D, ~9 _2 y8 X9 b9 t6 X/ D }
1 g2 e# I) S" g7 I! T if(isLast) / ^1 m; y5 F9 @7 E$ Q% _( \
{1 B3 K* V) T/ i, v4 b
if(debug)
5 E; C* c: O1 Y; w {
1 n! S( z6 F8 B% r( I! Z alert("last!!");1 ]& }9 A, c$ B8 B. B J
}; m) I2 _: W( M8 X
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 R; A, A& m% R! W2 u
{" o" ^7 o# D z; d! y
orgNode.parentNode.removeChild(orgNode); 4 F: e! B& H$ s0 ]
}9 T2 w7 j, U( W5 @! ?
}
6 g+ v$ ]) ?5 _, @* J. m else
$ k# Q8 u) g! W$ R- K' y3 \ {; D9 x! Y8 f9 Y! E$ o, U
if(debug)
, m$ J) m/ T0 v7 y7 X' @5 H2 o { _# w# s) x2 e0 J/ C6 E/ h
alert("compare color and parent bgcolor!");* V( Y' ^3 t7 y" G3 L' [' G, j
}5 [3 ]' {& m6 n! z! J; o
parentBgRGB=getRGB(parentBgColor);
e9 `2 R4 S! s if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)). k2 W; y& a( G8 r" Z8 b1 O
{2 f, X+ R6 A/ r$ L2 n
orgNode.parentNode.removeChild(orgNode);
( D0 m1 A3 r6 [8 a U6 Z }' h8 N, o3 R, A& D+ B
}
, k; v6 L( O- [6 V# t2 C }
. _; v; V! c; E9 M1 ? }
' R$ I; d; X- z7 A0 v# M }
9 V! t, F7 r- ?8 |8 q }
! R1 {9 a* O4 D+ B
$ A/ y$ _/ k5 y
0 C5 E( [- L+ J var itemFrames = page.getElementsByTagName("frame");$ p& B: _. j/ J
var itemiFrames = page.getElementsByTagName("iframe");
) f8 s- N; l( _3 Z: C 7 G& M5 o6 j5 t0 F7 Y; p
var frame, iframe;
Q4 ~% W/ X* b; O1 t( h s if (itemFrames.length > 0)
( P: j2 h9 `1 `& {) t. r {% R W K, ~2 |# g7 @: P& n
for (var i = 0 ; i< itemFrames.length ; i++) ) T) {" f$ P2 g) N# s- C+ K" q0 N
{6 f2 I, ]$ A/ u+ t% R
frame = itemFrames.contentDocument;2 c6 B6 A5 Q& e6 x' d" {
this.RemoveHide(frame,objname);
& j; ?( t% g6 d& l1 ] }
1 e0 D0 y. l& r8 k! x }8 V! W9 }/ [: k
if (itemiFrames.length > 0)
/ p' d: z% {2 U+ {. p {# Q$ q5 d4 X$ w
for (var i = 0 ; i < itemiFrames.length ; i++) " q5 V, t N) l
{) w( N& Y" b; R! G7 i0 G
iframe = itemiFrames.contentDocument;
% G" y' H. n; L+ S$ w8 e7 g$ { this.RemoveHide(iframe,objname); 6 g( G$ s+ v8 H* ?) k! J
}9 E. z+ u8 a, f0 f9 N9 Y
}
! Y- I! ~7 F* C6 o( e }
& l: R% b# l2 b% ` catch(e)
( c+ x$ L4 ~1 G0 ?, F+ h! x {+ d, ]+ v, C: j' G. ?! A n9 {9 R/ ]
if(debug)
3 ^3 ? @$ [6 m$ J {
4 E0 n3 n' [* Y0 \* ^7 a" @6 a alert(e.message);! a0 U& {+ z: q- g8 ~5 B
}
2 \% w* t. Q3 j7 i8 K) U) M5 Z }
" ^0 G ?8 Z- \4 ^6 y7 m }
$ E! O5 w% |* F, V7 n' ~
U' e1 n* }, C0 d, e( L1 P9 k}
7 M/ m* o& q X: g9 z! ]5 @9 Q) K X
function getRGB(colorString)# |, `9 p3 v k$ G
{
- q( n* k8 K' B: W1 K' | var RGB = new Array;) i& X7 b8 m3 h/ Q% P
var tempSting=colorString.substring(4,colorString.length-1);
$ L! u" Z0 M$ F# r. n var tempArray=tempSting.split(",");
4 x8 S& q$ M. k1 F
Y: C E; M: t" K7 z* x4 `) Z RGB[0]=parseInt(tempArray[0]);. I6 U1 B/ |# j1 q% I9 E9 W
RGB[1]=parseInt(tempArray[1]);
4 J; L/ p/ e. [: y* c RGB[2]=parseInt(tempArray[2]);
: O6 {" q/ j. X8 Q$ h8 y
1 Y2 B# o6 C2 ]) ?3 K return RGB;
3 ? b7 S: R: z8 V}' X2 O& l' y6 i, y) h
function keys(evt)
" [$ _( c/ s: a* J5 u: x {
; [( R- T0 n; T0 B3 U, {' j if(evt.ctrlKey && evt.keyCode=="81") ' ^. r7 e6 x$ Q
{ ( O9 Q. H+ X# r/ j+ Q7 _
CleanHideObj.on(0,1);8 Q5 \, }9 P6 g1 W. g4 F6 i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: O4 f% D9 y6 N5 M3 C6 h7 }0 S( ^ " J- f% a; w7 p$ ~" x
} % W4 T. N( Y! ]9 s9 Q7 i6 L
} % _3 G3 C- y* Z& y5 B) z6 Y$ a
document.addEventListener('keydown', keys, false);
8 I0 m; J4 Y1 z% `3 D7 n% DGM_registerMenuCommand ('Clean Hide',
: r& C: A3 d2 l: o# B3 Xfunction(e){. Z' c, N& F" @# v! @6 R' U/ i! }
CleanHideObj.on(0,1)
9 l% h( [1 f4 |# w0 ~2 S% L/ ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! C8 s& l+ p* d
});
. g1 x1 {5 e( R1 u! a) M8 P4 m* z |
评分
-
查看全部评分
|