|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ; ]$ l2 L" j* z' \# h1 \2 |
* y: b& ? z4 \+ P# ]) Q火狐插件,用猴子; \+ f1 t" g+ T% r. n* \
, W- p$ h+ q5 t% F' g- ~4 nvar debug=false; % D8 c9 m3 v! V3 B
var CleanHideObj=new CleanHideClass();
& O$ z0 F& i! f9 `
$ s+ ?2 y, R- ]. O# B; `( Jfunction CleanHideClass() & p `8 q) v& t
{
# t# K0 S8 G$ u0 O( C( X * O( s4 x+ z$ P/ J4 i
this.on=function(id,bMZ)
9 w3 P$ a7 |0 H {, H4 u2 D5 U4 Z2 r6 F
, d9 `" D. C3 `2 U0 A
if(id == 0)+ _0 o% ^4 C) w% \. ^+ V3 R
{
) @/ }9 h4 t) U var page=/* document.getElementById("content").contentDocument */document; , Q, W! D' x. X, w
this.RemoveHide(page,"span");
7 p2 s2 [: H2 O7 R$ J1 T this.RemoveHide(page,"font");. |9 ^6 s, l! D% s
this.RemoveHide(page,"div");7 h! Y/ L3 D& X- U5 Y+ n4 j
this.RemoveHide(page,"p");- E2 x0 x6 i3 ]% Z" Z
P# v& X5 D) J$ O; _0 ]
}) `6 j B2 P' R, ^& a" Q, q
' g' q# O: S( o2 a0 l' J }4 x* L3 C/ X/ i( M; D# P2 D- H
this.getobjstyle=function(node,prop)
' U+ U. W T1 j1 s4 Y7 ~) ]- M {3 P1 c+ Q1 n k3 O: m
try
6 ~; l1 Z' ]) i. M% S8 s {1 n# s7 g. L. d
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 K* F) j- @( R: T/ U% H# d ^
}2 I- Q' v3 O7 y; P' |4 S$ v
catch(e)
0 B& Y2 G; Y3 G* a& I {
1 M" T& D% n: F if(debug)
; D( a) a! r0 n' e% [7 B {
" o# |! n& e" f( K0 S) a" D alert(e.message);9 w, t; {7 t, m G- K X) s! r- r
}
. U! t6 h3 K$ a b / n1 W0 N; U d) S2 v
return "200";( K3 N6 E7 A( D) e8 }% a9 X
}" J/ u( z9 ?6 A6 a
}
P4 G, o) v. O
4 j% r. V. u) e2 n this.RemoveHide=function(page,objname)
5 m' W( \' h. {, z# v) _ {' q/ K9 o& I# P# m. P3 t/ c
try V$ L2 o0 l' f+ F, J6 P
{/ B2 U0 v5 @* L! j4 j! c8 Z
var minValue=15;
; x+ N9 g( J& s% F4 g0 Z7 T var objs=page.getElementsByTagName(objname); ; E4 p7 r- m+ s8 z# J
. j9 X* q( b+ f: K. s! L3 z5 y% r
if(objs.length == 0) 5 Q; B! m: [! s
{
! T& C3 D( S! v. ^8 r6 c. C if(debug)
0 X. d8 A, l( [6 i$ a1 _2 O {
! c, g3 L# }0 h4 l( y alert("no object found!:"+objname);" I9 W S7 O- I' x, b$ b; u7 o+ ^* a
}
* ^( x' v3 N4 Y: T1 s }7 A( W9 B" L6 |0 S$ X! @/ G' o5 L
else
8 ^6 o( Z0 L! P3 `. K$ j9 Z {
/ P! z, B4 m- R! x0 k 5 b+ ? q# d5 s0 B$ {* l# u3 q
for(var i=objs.length-1;i>=0;i--)
) n0 q3 b, u! |, u {
- r M9 S- {! ], p. O var node=objs.item(i);
; r# m$ t* H p) a" o# x/ O! R+ l ! s1 b0 C# |" @% h: a0 ]9 }- f
, b: q' \4 l% C. n' ]6 _5 o8 j% A if(this.getobjstyle(node,"display") == "none" ||4 y( W3 |8 |# {1 v8 `
this.getobjstyle(node,"visibility") =="hidden" ||3 }1 }. s8 z' J) Q% I; ?3 N
parseInt(this.getobjstyle(node,"font-size")) == 0) 8 V% X+ X: u' e( W4 r
{$ d7 @3 D3 G: W* m& Z# l
if(debug)
, k" J9 v7 J& B8 n. D {2 W+ i& ]/ @1 u
alert("remove invisiable!");
5 ^! J$ S! m( |: b+ A' Y$ ^6 i }
5 n& z0 {# v1 p; j2 Y: j node.parentNode.removeChild(node);
2 k6 g/ t) S* ]( K
1 `8 E! X0 N8 y! S. r }7 [' n5 [5 Z/ @ _
else
$ E8 d8 ?" P& Z# A/ R$ z {7 N1 L: Q% {4 v& x) ?8 D
if(node.parentNode) 1 S' I* [3 q' J1 M. ~$ h( h1 n
{4 O( W4 w& o1 ]7 K
var orgNode=node;
! \0 n7 M( F, u V' C+ @ var orgColor=this.getobjstyle(orgNode,"color")
# g) ~5 a& g# E. J var orgRGB=getRGB(orgColor);
! K& Z( U* I1 l; I6 [
+ _: J3 k8 R& A0 C! Z. B2 c ^9 U$ t1 w var parentNode=node.parentNode
% J4 O- n. T$ @. t+ u" @9 ` var parentBgColor=this.getobjstyle(parentNode,"background-color");
. N/ p7 ~# [ [& w4 c1 A' S7 N
+ Q6 D7 k0 f+ w# H- m% m& T) `9 } var isLast=false;
) V3 i% b& K& h0 _( v5 [5 M' a 7 f/ v; G; e' B0 ^3 Q! D
while(parentBgColor == "transparent") " T' i& T8 _: h7 k
{+ s6 \% {' N( o: O1 r4 U; z
6 n+ @" F, x$ k2 P' R! J 4 W3 Q4 k7 c8 J
if(parentNode.parentNode == null)
% T3 r6 j; E2 d0 Z+ i {. O2 @0 T+ F O8 e! F6 g/ Z1 B
isLast=true;2 H# v- Z- g$ a( H9 A0 A3 f3 X) |' B
break;% E8 R0 R3 D J" Y) L' s5 x; _
}
& s' o m( Z' t/ d& o6 J5 r parentNode=parentNode.parentNode;1 ?1 K4 e6 N0 _' {/ Z" n
parentBgColor=this.getobjstyle(parentNode,"background-color");5 l2 c# I# t. u+ ?% ~" X- N/ |& W
5 `( _9 F! I+ F, p" G
if(parentBgColor != "transparent") 1 L" M M, J4 [/ s
{5 }4 L" W$ B& e- i
break;
& K! `6 w+ l, e$ Y6 ~ }
C4 D5 y! c+ d, \! `- { }4 [& ~' r( F0 z% ]9 R9 M0 r9 L) C
if(isLast)
. z' H4 [+ X. R+ `( ^: K& c9 t {
4 h; o0 ^$ \: |/ ` if(debug)
9 \7 ^% F; w# }% r7 |' s1 q/ q {
) s& [3 w* s+ C alert("last!!");
* e5 E6 D w$ _& U# A* t }
) Q' ^4 w1 G! \1 b if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' p6 s( y0 @$ k0 C0 P. ~; m {) }4 v. M( C! N3 }6 ?
orgNode.parentNode.removeChild(orgNode);
* }5 m# c+ N9 k- ]& y& U5 K0 c! l" j }4 N* k! G' T. D; L1 O) v
}
+ W1 v, m3 A8 p" O* b else
# q$ b/ X* ?+ B, u {
4 ~# V) \: k3 I. e5 @! s' n if(debug): n) w% C$ F- g! M* [
{" u4 H4 R: Z* E) `4 d9 _/ n0 H" v
alert("compare color and parent bgcolor!");" B* |. q! A9 ?) l) k8 D. a
}
8 a8 [4 g" A5 V/ Y- A+ R parentBgRGB=getRGB(parentBgColor);! B1 ?6 I7 q3 o
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ X0 n) a1 ?, ~! m- V3 E* a {
5 j+ u0 H/ P' {. }2 T. g4 f orgNode.parentNode.removeChild(orgNode); ' Y/ ^8 L9 B" R o7 y# S+ t
}
0 q0 B6 `/ P$ V5 W) E }
% p+ N; P: ?( ~5 R& h8 \; |" ? }
\+ p5 R& H# K }
0 Z) J- t2 g7 }3 R }
: y: r0 ]) p: H7 H }3 k& w. T3 U; f$ c9 ?" F" p
3 ?( o: T# u4 c+ F9 G
; {, |7 p, L2 `' h- ?4 Z
var itemFrames = page.getElementsByTagName("frame");
) r0 t& A" ], G- q7 |7 x' b; W var itemiFrames = page.getElementsByTagName("iframe");2 S- A t( r: u p- }" H$ q" l+ U: Y7 a
) |# v! z# H. X3 v$ F2 D/ b
var frame, iframe;
_8 _. q& Z4 H- z4 O if (itemFrames.length > 0): i! o& ? E7 u" V
{ |3 V7 m2 D% q# @- m
for (var i = 0 ; i< itemFrames.length ; i++) & }( C, m8 J$ Q1 V8 i* W6 X& S
{' q% V( o- f7 m' S
frame = itemFrames.contentDocument;, X1 X8 p" T& D% I! u
this.RemoveHide(frame,objname); 0 o7 I: _+ i: d/ p% g2 v0 k$ z
}
' o2 K' z8 n8 O: X" r }) C1 [ N/ e# V' H
if (itemiFrames.length > 0)
- n! g2 e8 ~# {: N; H! y) ^4 R {2 O0 ]2 W! y0 i3 i% {) R/ M# i+ V u. S
for (var i = 0 ; i < itemiFrames.length ; i++)
) @+ q( C; @- q; o {
+ O: P, n" ?7 i; ?! L iframe = itemiFrames.contentDocument;& q. X3 w1 c% [- p: i9 Z$ k+ p
this.RemoveHide(iframe,objname); ' T% s2 M4 t6 E) e- G
}
; q! A @" g+ H- S }
2 w" [5 M3 |- h }
- Q5 f1 R- y @! H7 L catch(e)( a- D z1 j) a/ U
{1 f; y$ I& u- _3 X0 g+ ?
if(debug)3 [7 k. ?- d @) q, y {
{
1 [' h7 @/ Z8 v) N: h alert(e.message);" E: d' m( f' f* A* U& y
}
- A$ B3 n# W% _, o* C }$ M, N! c) y3 y* N
}5 L: P) g) {2 Q& z
& K$ y$ l8 ?1 @" O7 m# Y
}
* c/ o9 |3 o* ]% t2 o7 g8 ]- _9 k* ~
function getRGB(colorString)& S/ m; J. V4 D2 R4 e. W( {8 O- [
{6 h' I1 L3 j) f- F6 m
var RGB = new Array;
: l2 I$ [( c. f9 \ _ {5 q! L8 j var tempSting=colorString.substring(4,colorString.length-1);8 r. Z. Z1 t' s4 S: x
var tempArray=tempSting.split(",");
9 A3 l# ?/ F+ o
) @, s. x) o9 t RGB[0]=parseInt(tempArray[0]);
+ {& V, {* S( |, ~+ R RGB[1]=parseInt(tempArray[1]);
1 t( F [( y/ v- h2 z RGB[2]=parseInt(tempArray[2]);
# J* d) W" O! i5 q& B + W* l/ j6 c3 G+ @& ~$ t( P' S% N
return RGB;3 j) x- l0 A! P
}4 B% ^; i2 N8 }* r4 o0 c5 ~
function keys(evt) 7 I. B l6 j' S9 u2 K, c+ Y
{
3 v4 [2 ^6 i1 U if(evt.ctrlKey && evt.keyCode=="81") + ]# ?, N0 ~$ G. w& B, k1 p/ g
{ 9 |: X. P1 _; {- m- p
CleanHideObj.on(0,1);
/ i% m6 x5 H. Y( K8 m4 N9 _ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 {% O! A0 a" w, C& ], ], F+ }* c
1 F5 [, F* J' B& K }
, n, k4 |; k1 V# Y8 Z+ @ } $ B; R0 K& S' W; ?2 H8 f
document.addEventListener('keydown', keys, false); ! l+ {6 a+ }, R, V/ K1 q1 Y
GM_registerMenuCommand ('Clean Hide',: p+ S4 V* ]. _) k6 }+ b! \
function(e){
" V/ P# M% o# S* V, [5 A& cCleanHideObj.on(0,1)
, {$ L9 q( z1 \8 Salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 g& I% H+ H$ o
});" B. I% s8 e% b; q# u2 v% d( B0 A
|
评分
-
查看全部评分
|