|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
" j3 o$ x$ l; E3 v8 l* g3 k: f+ a5 _# t
火狐插件,用猴子
9 \# H# E: _# [( j. ]' I9 R3 h- X4 Y" F5 A% |+ X' H
var debug=false; 3 l7 l8 Y4 V- `' B
var CleanHideObj=new CleanHideClass();0 k) _6 h/ {- o
) |& {/ d! m$ h; V, U$ _* a3 y
function CleanHideClass() 6 k" M8 ]8 [4 k6 E/ F; \' [6 K
{ 1 g1 @3 }2 ^9 V* d6 {9 ^
. s. o& @' l2 x7 N* b this.on=function(id,bMZ)
' g/ ^+ f2 `/ i2 n% r- H: c {2 w1 `+ D; V, f0 A
" Q2 K8 J! O$ c5 V# G
if(id == 0)3 [( m* g1 G4 H. A
{
$ q4 r# \: u5 g9 N var page=/* document.getElementById("content").contentDocument */document;
/ I6 `( t3 u F' |* a! I' v this.RemoveHide(page,"span");8 o0 Y8 Q5 ?& p0 K" h" X
this.RemoveHide(page,"font");
6 y2 M3 @% |+ ^ E; V3 i+ H: V: a, u this.RemoveHide(page,"div");
. T: y( e! |5 v7 \- A this.RemoveHide(page,"p");% x7 P. r1 z3 w! w6 e0 y4 i
( K& m% D1 s* i
}
+ u! I( R% ~7 ?
1 ]5 m* F% e: A& n( o }: ^1 S8 E9 A* d4 Y9 K
this.getobjstyle=function(node,prop)
U% m$ a: W( {: r0 V4 I/ w! [ {' G9 t, C8 ]" k3 L( X) t' A
try" z: k0 |6 d! y7 A) I4 [
{
: y2 D- l# ]: D) a! R return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 d9 o5 j6 m3 _# _5 ~
}9 N, U9 o0 M( i; f* _% v
catch(e)6 R$ o4 l; g4 K# L
{
+ P8 L0 L+ k) F# ?! |/ e; r if(debug)7 {( x V5 T. j( V5 m4 u! }
{' `, q4 y, a& z# G# r
alert(e.message);
; i- G/ k6 ~6 D W4 K }6 h0 n8 P. l9 ?: h( ^4 ^
2 G' i' k. v) o6 G, g# h# S+ M
return "200";
5 j4 c" `, Z' D; I) @+ t1 h }
3 n5 G. W0 [' B1 {2 { }. E: @6 n @7 x! @
4 V5 S5 I, {0 L" S* ? this.RemoveHide=function(page,objname)
% h0 B. X% ]* g0 e- l( S {: \+ ]6 h& |: h# L) ?7 Y
try; ~5 p' h' |7 @7 _( O
{
) y2 q) c5 P u1 @+ P( e4 H var minValue=15;
- n3 z+ X( f0 o, h var objs=page.getElementsByTagName(objname); 8 n. G) ^; N. R/ S& M
( ~- [/ m& u/ I7 b( H3 v* }
if(objs.length == 0) . M* k4 ` V$ z* q: J, X
{
5 p2 E1 _+ P0 A5 x/ q5 \3 P' P if(debug)
3 H- F- N$ Z& B& t. T {/ p! {$ i2 F& @8 ~7 q7 Z, K
alert("no object found!:"+objname);
) a5 u8 k) p6 x) C4 n }' U$ i, P9 x- L
}
7 l6 t: L+ c4 M O% B1 V$ ~8 w else
! G5 ]. k( {7 T" {# N }( E4 G {1 ]8 L" Z6 j& y
! G7 N8 F8 |! e8 k3 s! P9 b for(var i=objs.length-1;i>=0;i--) ) u5 B+ X$ ?0 p& s l& ~5 j& W6 n8 v( I
{
& d, x3 i: H: Z6 t0 P var node=objs.item(i);
) J5 x6 a! t' r. I" s8 w 6 B3 L- C* ]- ~- r# I; y/ {
) ~4 ^0 \5 q5 c2 ^; g
if(this.getobjstyle(node,"display") == "none" ||, g8 u9 t% f0 x( b
this.getobjstyle(node,"visibility") =="hidden" ||& x; I9 s" q% A/ O/ U$ P6 m; r. i( {( l
parseInt(this.getobjstyle(node,"font-size")) == 0)
& O/ f+ ?! O) } {" i. c) u" L2 `$ V4 E- G& c
if(debug)
! q- g( A' C: H' t {/ i' s7 F& E: A2 q- g' L3 `8 D
alert("remove invisiable!");: s$ h5 F9 s0 x x
}
( h8 B% r$ r, _ node.parentNode.removeChild(node);3 R! {& N2 d# w
: u; L; R: S8 a! L# c0 a
}
, g- l q. K$ O; h1 v else
) N D8 e" G: L4 H5 R {
6 X, E. z2 T; H3 [ _9 ~# Y if(node.parentNode) : F1 x( D1 e' J P' D8 n5 K
{$ ^$ H* L/ t+ T
var orgNode=node;
1 X3 x. B3 r# G# f Z5 ~5 w2 t1 z var orgColor=this.getobjstyle(orgNode,"color")" Z5 B: z& ^0 W' W: R) u/ O& n
var orgRGB=getRGB(orgColor); 7 U7 `4 b4 ?0 {- Q; Q* D5 @% c* d0 ]
+ R$ s- p$ \, p- y var parentNode=node.parentNode
& X' X8 z) q0 w2 p9 M var parentBgColor=this.getobjstyle(parentNode,"background-color");
. w, _1 j7 F$ c$ Y1 n( H ^7 V( \
! c5 t8 [+ Y6 @, R; b% E/ D var isLast=false;
( l* y% M3 l/ P4 O. Z2 W9 l3 R & ?$ N, o. [ v4 n8 `( P
while(parentBgColor == "transparent") 4 q' k0 G0 H9 A4 E' e2 _' Q
{- [5 [3 f6 i; ~ w5 ^1 U
M; z) D) D% k* h+ N
7 A3 D! ?: m# |
if(parentNode.parentNode == null)
0 }" y j/ A) ?! V3 T M {4 ?/ }$ M3 y$ j F; V1 E* s" @3 E% ^
isLast=true;
; G: f1 [; a4 a: ]: F4 I6 @ break;
! f9 N1 i1 ?$ S }/ Z' B' S, R$ ?
parentNode=parentNode.parentNode;
& S$ t, E* f6 A# Z parentBgColor=this.getobjstyle(parentNode,"background-color");
& C; s& N, X9 y- C; u4 D% J* E" W! O3 t2 @
if(parentBgColor != "transparent")
% k% a' h# x* x$ y$ e {, \' Y& Y2 z9 T" G, s4 I7 O5 [
break;
) F0 G' g1 x* a) f" c7 _& a }
5 q- J# w @$ Y/ ^, j5 W }
7 w8 P$ ~8 U( ~/ y% V6 ] if(isLast)
" M( i5 f. T! y1 X' V! g$ Q$ O& U" q {
" D: `/ j- H+ G, c6 | if(debug)
) g1 A0 W) V5 M: y$ |: W6 { {
+ @+ V* [$ x9 M2 S alert("last!!");" J1 g7 ]$ z. K( l3 ]& y+ u
}
* D1 h4 \! G+ G+ k" l if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 A9 k/ f/ d# Z; v {
s% _% F* l* W I. ? orgNode.parentNode.removeChild(orgNode);
6 B& }( ~4 v0 X& a; I6 m. S }/ j% V$ p- C( B* c3 K2 T
}
1 _6 ]4 g |/ e' h else
5 c, M+ e P; [6 q G {$ V3 U1 U" U o+ b
if(debug)
, T) w) H+ r. I ]9 y6 E {
1 I7 o3 N. ]5 m- g" X5 T alert("compare color and parent bgcolor!");
+ z! }5 I: j0 e( k% z }
0 |$ V! _0 a5 o* _ e parentBgRGB=getRGB(parentBgColor);
) M' b- g- q4 k* ] if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 J( R9 ~! T8 o5 j/ |# }. o; v- u
{: f% W$ _) q2 m1 w
orgNode.parentNode.removeChild(orgNode); + e9 g4 U1 P: b
}
- g! R7 e! W$ x/ ] }
3 ~1 b9 X7 T/ a) @ }
]4 }- i4 X" C" Q7 m( W }1 x/ A+ @+ ?7 B* t% y
}
J5 D e; d7 D5 n$ r# x7 N }
* X! h7 q1 R' B0 ^3 G
4 e; c p; x) Q9 b; v! {% f
; o% R" K! \, ]" b' Z6 l: ^ var itemFrames = page.getElementsByTagName("frame");* O/ U! ^/ G) x
var itemiFrames = page.getElementsByTagName("iframe");9 {& e4 I! n) G; s
) z$ G) \% B$ i$ u: V4 x var frame, iframe;1 ]' t5 \6 g5 Q3 F1 w* E
if (itemFrames.length > 0)
9 v+ Y2 n' a2 {8 |4 f {
2 G' O4 E$ ]1 k! M4 m. Z for (var i = 0 ; i< itemFrames.length ; i++) 8 b E6 D7 |7 t% w) v+ o" O
{5 T( E5 A' |1 y* ^) q
frame = itemFrames.contentDocument;( I P6 D, x- n( [; x Q
this.RemoveHide(frame,objname); 8 X1 `" z, q' @5 F* Q) o# m
}; L& r& n( w' E6 K& c
}. [, N c7 y' R0 ^% X: _8 r
if (itemiFrames.length > 0)! m, s' u, @8 X9 C! j
{7 ]; o, p2 ~9 l
for (var i = 0 ; i < itemiFrames.length ; i++)
7 Q9 T6 I$ J+ f3 a {" N2 T8 R6 l* j0 Q' B
iframe = itemiFrames.contentDocument;
# T2 Y' Y3 a8 y) S! e this.RemoveHide(iframe,objname);
+ @7 w4 V! A# z* g9 A8 h: _, [ }! U/ v. E g' C d0 P
}
% q2 L( n+ e1 d6 A0 H }
' t' a2 h4 ]8 y' a7 R catch(e)
1 q+ t$ c; ~, Z {4 ~$ j; \# q6 ^& T5 \
if(debug)
% d1 O- `3 @/ P {
, T4 J7 ]. K* J+ Q7 b' x$ l alert(e.message);
+ v; }4 S. I3 y' V }
$ e$ g1 ~ s+ f7 Q }
; D! V% e; K; ?" W) f8 N: L }8 B9 I) T' R3 ]3 K3 p4 | w
- V, G+ {: U+ E8 x9 m6 z9 P5 _! w& k}' Z% o% w5 [. [. Q& O
/ p6 e% W! X6 v pfunction getRGB(colorString)
, C5 b: ]3 }( v4 L; e3 N6 `{
2 p2 D1 x9 [5 J) r( c1 D( | var RGB = new Array;
5 w/ I5 [7 N; v @* t var tempSting=colorString.substring(4,colorString.length-1);
6 m" M4 D3 N! U6 h2 P! P1 n6 _3 T var tempArray=tempSting.split(",");
: [& y" m' b; y6 L6 }9 j
+ I9 J" S4 w7 G RGB[0]=parseInt(tempArray[0]);; X x) C9 [ J+ W: Y5 w6 f
RGB[1]=parseInt(tempArray[1]);
- a, o% g: i. P# b) \ RGB[2]=parseInt(tempArray[2]);
. W- l: |0 o! v/ i% A( o
5 _2 I+ t, H4 ^9 e3 T! E3 a- J8 a3 U return RGB;4 C S7 v" i: y) u) l, `: y" g
}
& P& I+ D1 Q8 {1 `9 ]function keys(evt) & J0 Y9 \. ^9 @% x& B
{ * M7 {% V E! G) G. E
if(evt.ctrlKey && evt.keyCode=="81") - h p& A) y+ Z
{
& r( j; E: W8 y# T9 Y CleanHideObj.on(0,1);! t$ ]5 B- i0 ?$ i! D0 o
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ' D. D1 V$ l/ B' e- P
% |0 y$ X1 n/ B9 Y) p }
( \$ _) |9 `. F4 U+ \4 W } 1 D: u- U* O: _) H+ v
document.addEventListener('keydown', keys, false);
) w5 [6 h% J9 j* A1 \# G# p' BGM_registerMenuCommand ('Clean Hide',
4 [( R9 y, N, ^$ n1 Q* X3 Lfunction(e){
% K+ t( ~3 u4 vCleanHideObj.on(0,1)' k$ X& l) X' s2 E! N+ N3 A. N
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) s- k* S( f. d5 v7 Y5 a, N& I
});; N' m, D6 N) r5 h
|
评分
-
查看全部评分
|