|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
# u: x+ d& ~# K ^5 F% ^3 F- p4 [& N
& T& p1 T1 m( M5 d9 J$ P* c* S火狐插件,用猴子
" u+ V/ A' w, w g/ y' ~! `+ P+ z
& h3 A' U* l7 W0 a% X g/ Pvar debug=false;
% n; X0 V8 L3 N0 F2 B' Qvar CleanHideObj=new CleanHideClass();
- n% t& F/ U' }5 {- R* f7 J4 u; z3 m) s) ~1 l; G) a
function CleanHideClass() 4 S- H* i- l' S
{ B; K6 V4 ~% q0 r
; r9 K3 E3 K/ y
this.on=function(id,bMZ)5 C) c0 K/ {! p( h7 A3 d3 K+ B/ Y) b
{
7 }' E+ I3 a* g' y) i, p ! Q& L/ x! L) @7 v* ?
if(id == 0)
6 \0 m$ B" {+ J( m/ \% Y! a {) i% r3 Q7 C# [( Y: p2 {7 _! A. Q
var page=/* document.getElementById("content").contentDocument */document;
# q) H0 @# ^( Y- f' P H this.RemoveHide(page,"span");
; M/ Y+ R Z4 i3 `+ q this.RemoveHide(page,"font");+ U6 W4 W! Y8 l5 Z. b5 v# ]
this.RemoveHide(page,"div");
& O! g: c& ~" ?+ W% f% @& ^; c this.RemoveHide(page,"p");) O/ I( z5 Y, ~5 w- }2 w, V; ~
, g9 ~" X/ H+ v
}
1 v F, ]; |/ ]9 t2 |2 R: M( I 9 z* M) P" }1 z
}+ w) H/ X/ n" F8 f M+ C9 c
this.getobjstyle=function(node,prop)# h3 ?' g& j/ I0 Q
{6 w# [/ ?* F- A3 P: f' i
try
/ ~* f+ {: }& f7 G+ U6 L9 l {+ A% _8 O) f; `) C+ n& f! i. ]
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. O6 S6 P0 m* ?% q! { }
% a* D6 d2 Y H, h+ q8 j, P6 \ catch(e); m7 Y/ E5 t5 z5 j' ?, m
{+ J: V2 w3 P1 ^' p( m9 Q0 x& Q
if(debug)
+ x' G7 t% g7 Y8 h( h {
) k- L# N& t: ?+ X- f$ b# o# w alert(e.message);2 O+ M! i3 n% n- d, `% S# m% o) S0 W5 L
}& B4 [! u5 D0 o4 b! X# K. Q9 Z
5 {' A' P" b4 p: _2 ]1 a return "200";
- S: z% c4 j8 \, |7 e! g, r* E }
& ] w# T& J+ l }
: o8 W# |' V4 L" B8 L5 \2 h5 Z
6 B# _' v: U# C& @& P3 X' d this.RemoveHide=function(page,objname)
7 X4 c5 p8 ?9 @( L3 M9 { {9 q2 S- J9 i l' `! M! y# u
try' b$ E. y- T- p- i/ d; t3 I
{- S9 S7 \1 R& N6 o
var minValue=15;" d5 N2 ~1 m1 e7 }& F% y- N
var objs=page.getElementsByTagName(objname);
; ]) l" J: J( N9 Q: q9 Z; z; Z. _& o @* I
if(objs.length == 0) + m: D* Z$ ^ H" d U! [2 g/ Z! b$ j
{
# ]: ]0 c# f5 `0 b: ? if(debug)
* d! D4 j. i0 T3 x. J {
5 c1 Q, H" j1 } alert("no object found!:"+objname);" |) w7 y% I* K A( ^! j
}
) ^7 k: E! J" z }
" r2 d5 |( @: P2 B; A else
" l/ z X+ Y1 P. ]: @ {( f5 W/ p; j- y" a$ t, l
, Z' c; s- d8 W, ] for(var i=objs.length-1;i>=0;i--)
5 Y0 P6 @+ z, e( ` {- b/ C" M4 R8 {5 i5 ~
var node=objs.item(i);
: m& @1 C3 X3 f' H k
) P; |9 s; j: g- X
, `/ ~5 n3 R( K9 g) u. l if(this.getobjstyle(node,"display") == "none" ||" Y8 p5 d/ @, r( o" t
this.getobjstyle(node,"visibility") =="hidden" ||
- a, U, D6 Z2 g! m: M, z! S- H parseInt(this.getobjstyle(node,"font-size")) == 0) . j$ s7 q# f8 M" [* s8 ]
{
$ v! w$ T4 R S h/ E) g2 q5 \ if(debug)
8 Q1 G6 s# |) C/ t { M5 F! w, F8 h' O! \" o
alert("remove invisiable!");
& K' j. R2 [; z8 B0 h# H( m2 k }0 Q+ s" X: L) K. ~3 m$ v1 y% k
node.parentNode.removeChild(node);
/ |/ e) n; W ~* o( O8 Q
4 I+ w c) ^) s& e+ G; p }
- v7 k9 y9 d3 u& J4 L% `' @ else ' n% L1 |3 A+ q4 P5 n1 \0 f
{! T" t/ f1 h* k7 N* ^
if(node.parentNode) 1 C( v7 F3 L7 B& C% M: D4 v6 S
{7 u0 t- k# C" [2 l2 c
var orgNode=node;
" S q! R" Z5 [# e1 |- N/ K var orgColor=this.getobjstyle(orgNode,"color")# y# f# A6 w4 M- E
var orgRGB=getRGB(orgColor);
; x" |7 G% x6 V$ M) G ( X+ S' ?4 \! Z5 l% [" X
var parentNode=node.parentNode
2 o, z" c0 T& s7 K var parentBgColor=this.getobjstyle(parentNode,"background-color");7 A3 b/ U# H# D1 E' d
& d2 K+ u; Z) u$ m. u' A
var isLast=false;7 m2 m- K8 ~- d: k! }
0 m$ v7 k7 W$ |& N1 T+ |; u while(parentBgColor == "transparent") * [+ e+ l4 P, Y/ W
{
, Q, r) d* e6 t9 m2 w9 _ 8 f& [( R: x# {' ^
5 R1 ?9 {( B) e, _2 A ^1 d( T4 m
if(parentNode.parentNode == null)# Y1 s. A! E9 G$ n) h
{
% y1 ^4 e' G3 U& a isLast=true;1 B# @+ m8 q2 M, C+ Z
break;) Y6 ~; H7 C" r% } k7 N
}0 C( e2 l: }, g- V: s2 M* o3 O6 l3 V
parentNode=parentNode.parentNode;
3 w9 {' K' k4 v* p1 Z parentBgColor=this.getobjstyle(parentNode,"background-color");
( ~7 [3 _; h3 }! M3 C, Q+ A) B+ u7 |5 o% t: @5 s2 L$ m
if(parentBgColor != "transparent") ( w% S3 ~% j$ O0 o- L0 ~% u
{" J: G8 `7 x9 @/ m/ |, B! T0 v
break;
- [: ` Z: G2 s; \ }% E$ Q% Y5 G, @& i" n8 x8 G
}
; l9 U& a9 @ w _$ t2 ^& U- s if(isLast)
0 ~- W" D7 X+ K {0 N+ Z( w3 X7 C4 `
if(debug)7 b' ]: u# t- K) _5 N/ B* R8 S
{
9 f+ S# k; n/ C$ J9 s: i alert("last!!");; l2 T5 S2 z- U/ H( L0 d. ?8 u" ^
}/ N5 U: J, ?/ d7 S3 i% `
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 `$ A" O5 j$ _6 a/ e {
( T$ Z$ ^: `/ R orgNode.parentNode.removeChild(orgNode);
7 j& a' S4 O) N }- D- \$ k; X8 X! y$ U8 x1 w& Z
}# X" J p; e+ D9 E8 V( n
else
; W' u9 g; `2 K# a# \3 { {
% f, `' H5 A- {) Q if(debug)
; Z9 `' x4 Q2 n7 g5 g {
: ?; F' l+ \* d7 @; _. p% \ alert("compare color and parent bgcolor!");
6 v# ~9 C: a8 _2 u, B }) r0 d0 {! R5 s0 l
parentBgRGB=getRGB(parentBgColor);
9 P9 R& h9 s a' p5 c0 v+ c1 W7 b if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 Q5 e" m4 P/ g7 ^. h {
" q4 M# F) G( d! ~2 P ] orgNode.parentNode.removeChild(orgNode); 1 Z! K `9 C" b; A! h
}
$ n0 ?& g- s6 H2 x) K* y }1 }- L2 K& b- k* z! \; h
}5 V& S0 |; J8 a: g
}8 b. C1 H6 k* @& \, L2 Z- ]" e
}
e: f+ W5 l0 m! c0 Y }
* T* _2 M. k! ?6 R7 W; M* x - Z* M9 ]3 G/ u/ V; C7 B
) [" b) k/ l- q1 h" R2 c( e. U
var itemFrames = page.getElementsByTagName("frame");
1 P$ Q- j. X3 a- j, O) x' N var itemiFrames = page.getElementsByTagName("iframe");
' R; Z* m& P! p0 M' ] & `' C: Q8 r) B" ]
var frame, iframe;
+ l S, i1 l6 a. T4 P if (itemFrames.length > 0) k1 ^# E) [. j3 l0 }. |5 Z9 Q
{
+ u% ^0 p2 u" s. r for (var i = 0 ; i< itemFrames.length ; i++) # I+ M1 a( P; X0 h
{- w, }0 N9 L5 v5 i/ f& ^
frame = itemFrames.contentDocument;
0 k" h3 U0 C% A, c3 [# k6 _ this.RemoveHide(frame,objname); + V& c9 H" `- Q
}5 e" j1 o( c/ }6 @
}
8 h7 f, g2 z% G& G if (itemiFrames.length > 0)
( |) ]! J' s( \5 I% r# D" K {% P2 a! z! R4 p
for (var i = 0 ; i < itemiFrames.length ; i++)
; d5 g# e# l: L6 s/ D, j {, e6 [; G0 }& l! o2 H9 D3 \' z8 V- o
iframe = itemiFrames.contentDocument;
( ]. \& D& |* E! b this.RemoveHide(iframe,objname);
6 q* V9 q- ~+ C5 \/ _8 B+ c }/ R5 S9 Y& \- ?& f) ~1 J! x
}
3 p; P) S ]2 G, U }( S9 c8 y+ ?5 S6 ~; X7 b8 {) p
catch(e)
/ u" Z8 l- G7 [ B {
9 m, i0 e1 b& a if(debug)4 u) d- l7 f+ m$ |5 G) t5 E# [6 t. y6 p
{) p( \# q; i& w/ r) r; [
alert(e.message);# B) D- g7 W1 `$ F! n7 P
}& r, A/ ^+ m7 [ ?2 S& D( L; w% r
}# D. z. ?# X/ o
}) H9 E) B+ f; m
+ @: j/ h) R3 t' S2 O: `2 J
}# E% l, ^# q* m8 |) O% ^7 I7 _: c
/ _ E% _) N; \ K0 q4 c: _( o
function getRGB(colorString)
, N* L# S& V. \( r* m4 v( Y{
9 J+ d( ]* @2 m7 O; E/ S var RGB = new Array;
6 B" _5 M9 F. S var tempSting=colorString.substring(4,colorString.length-1);
8 r3 _1 N- m3 r& s/ p- \6 ] var tempArray=tempSting.split(",");% g" {" c% h+ K6 F4 d* Q
0 W7 b, e1 X S$ \1 N& ? RGB[0]=parseInt(tempArray[0]);
) i: ^6 s6 J3 p2 w" F g6 J0 | RGB[1]=parseInt(tempArray[1]);/ V$ i T+ k9 m
RGB[2]=parseInt(tempArray[2]);$ l% `" }5 \$ A9 w, w
) f1 y2 I4 v! f: \ return RGB;
$ W6 m1 n* A" k}; l5 k( G, T' d M, {/ _% W% o' J
function keys(evt)
9 n& ]8 G7 ~9 g8 Z6 f i" y {
* j- d7 @* I6 o" ~+ F if(evt.ctrlKey && evt.keyCode=="81")
7 s" y1 R+ r, z+ Q5 U+ z { - e& T1 |8 _' G! S% H% c
CleanHideObj.on(0,1);
5 n; J( ]: o3 O alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# O$ F" f2 W: o3 c3 s6 {
1 d0 w$ j- H" b5 ^ }
/ p! C; x' W! f7 h" b, D7 C3 G e }
7 d. Q4 H8 T$ b' Q! A: Ydocument.addEventListener('keydown', keys, false); # J3 F% J4 \0 X; d* k: y
GM_registerMenuCommand ('Clean Hide',! P3 [8 s$ \7 G/ i% G" X7 J5 _
function(e){
! H2 _$ [' B- O# {, \0 s$ f7 W7 ^CleanHideObj.on(0,1)/ S' }/ m1 E. R5 O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: `- J( w6 P0 q3 x
});
" q! `1 v( ^/ _- e$ R |
评分
-
查看全部评分
|