|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
, T1 [- X- J! r- x' T2 y N( N9 a8 Z% h3 y* C
火狐插件,用猴子3 x- \1 P# \0 s! l2 \8 z: ^% {2 Q
3 q. F+ ^2 k6 R/ U
var debug=false; 8 {* l4 y/ a* f" X! ^6 r! L8 W
var CleanHideObj=new CleanHideClass();8 Q* l0 h* p& a" t& r
7 m7 q/ i; W# T# T4 ?9 ?
function CleanHideClass()
8 y' d, U" |; K2 z1 R* I{
* Z$ Q! _8 X( X
/ [6 M& Z# E+ _! k9 ?# o1 N, j this.on=function(id,bMZ)
3 @- `. o% F4 b& ^3 M, m {- c3 Q' v- f6 I& Q! e( K, i
- q) c, I; |' F if(id == 0)
" ?/ F: @2 U" J5 { {0 f h3 X4 x. g- k, v; s. N
var page=/* document.getElementById("content").contentDocument */document;
2 y0 M/ Q4 R# p e% l8 @$ k this.RemoveHide(page,"span");* I; W3 D: _* Q9 r; G
this.RemoveHide(page,"font");
/ }6 u( {# d6 F7 |$ F$ ?& L this.RemoveHide(page,"div");% {0 _5 Z9 v) L# Q6 R, l: b
this.RemoveHide(page,"p");# \4 k1 x' P; t3 d( h
' }0 F2 [+ z6 J9 N: }% B }
% r0 U! n+ [/ q$ Y w5 z! T
0 H O1 @1 n/ V& M' g) L }
9 O8 ~0 W# y/ y2 f9 V, h this.getobjstyle=function(node,prop)& v% {! ~* W% L# a# c
{
# H: E* M2 f: @" j* | try
% K! I9 i" C. Z% Z. t6 W" d) k {* j2 D2 u9 c; d* E! a7 F- H' a ^' u
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ ~; Z& d3 V' A+ [
}
$ W0 j$ P5 e8 {) R# P3 X catch(e)4 y8 }' G; V! U9 @ a9 R$ z
{
! D' w2 Z- }" _5 S# R p: C if(debug)
: c( P0 v. v8 t/ k& ~" z D1 d {
! P( h$ h3 h* C; K alert(e.message);2 A* u" l; W7 R
}
0 R6 M; p. y/ e; Z [! C 0 Y+ O# R$ B# H0 R
return "200";
# i3 o5 ]/ {- A/ E }
9 k. [& f7 a) z }+ F% y! q$ o6 V& \* \2 Y
* T0 v* t4 X. H+ C& f# t
this.RemoveHide=function(page,objname)
/ [& [# ?) e! r8 t) x) E* V9 E {. g7 ?* @, O5 A ^; D
try
6 C* }2 a1 p; F5 g {
( C9 J6 ^5 m+ T+ E1 Q var minValue=15;9 e( r* J: E5 a9 I! X- B x
var objs=page.getElementsByTagName(objname);
- F$ {* }; [: h8 \0 U3 ^% A4 i! o, k/ M1 V( m
if(objs.length == 0) $ y, t2 t7 u" f+ s/ |! O
{
0 R$ l/ x m" _3 ^7 t) w) n if(debug)
- \+ J! w; B) q* R" s+ @ { t# ~7 P' S1 }, }% i
alert("no object found!:"+objname);- F- y/ s! \0 l# F9 J
}
/ }$ Y7 }% ^, f z5 G }
& Z: O" {' i: T: ]% }. S4 i else8 Q2 ^; {4 N& U
{! \7 v3 J9 O4 Q9 e" S
% k9 W N: d% f$ @+ r3 a5 w for(var i=objs.length-1;i>=0;i--)
6 c+ s" @+ `7 ^% K {% z1 j# g3 K( V& h; o, z
var node=objs.item(i);
* t% C; V6 | I5 j' }, u' [4 y 5 @: O( z9 _) }9 k. K
+ B# A* ^) Y$ U) c5 Z$ S
if(this.getobjstyle(node,"display") == "none" ||! |# D0 `$ q) ]# P" X; A
this.getobjstyle(node,"visibility") =="hidden" ||! E4 q# m" M) j4 t1 T3 `, g9 Z
parseInt(this.getobjstyle(node,"font-size")) == 0) & Y: ?+ o- H5 L3 ^
{, k3 a2 w# s) V4 h# g$ p
if(debug)
1 f6 D, L! i6 G% k% h {
+ r8 L3 p) O0 @ alert("remove invisiable!");
4 K- Q. q D: T* l) E( Z }
' k& w+ Y" @9 D' j node.parentNode.removeChild(node);
" s* C a- r1 J
! n$ n% Z- E' G }* k5 z& y0 |3 @
else 5 `1 p. U% i: ^+ P* O
{
$ A6 L- H7 H0 l! R if(node.parentNode)
$ o0 e8 q2 o! m6 K {
* Y0 ?9 I) t f* ~- C, y, e0 W var orgNode=node;
& @) G% `. E; ?! [' s C var orgColor=this.getobjstyle(orgNode,"color")
1 d0 d- k6 ^ d. J( O, H' F# V var orgRGB=getRGB(orgColor);
/ O2 c9 o6 G$ O7 w( A ) m; J# G7 ~, `! t8 t* {+ _& C1 w
var parentNode=node.parentNode/ R# t) G. v2 q r+ T$ x$ Y
var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 b8 M& P8 `0 v: w $ g3 h4 ?8 Y2 V' A
var isLast=false;
. N- P$ @% V& d7 M( o; L0 z 4 H! h5 {. y. _' f
while(parentBgColor == "transparent") 3 ^# G6 ]) a% ~! ~% h0 p1 p
{
; K1 p1 x: ]5 z+ K- b/ w1 [
% I1 Y8 O- c4 |! _5 u
6 {0 q, S5 G) K- b% ]- M. f, D if(parentNode.parentNode == null)! c% }* C3 O- G9 u1 D# R- ?
{% Q" {& `. Y3 L& @, X
isLast=true;
5 C$ U' ]9 B C% x$ L6 z break;; V% f7 j9 I: ]' ~, u* \
}
1 Q- S q/ y- z( b. r parentNode=parentNode.parentNode;
p9 M. m/ m) F1 f; \, | parentBgColor=this.getobjstyle(parentNode,"background-color");4 o/ {, }9 `! e7 E
; G% s4 N$ h" o% c6 t2 \4 G5 R
if(parentBgColor != "transparent")
: A' R9 g% y8 L8 _# { {
* `1 n/ h7 }' y; O; C break;) K, o' Q a& s9 T
}
0 B: f7 K! [. ], Z, x W }/ z3 f: s1 t1 ^. w% y. p" M, }
if(isLast)
( f; P9 y2 R2 `" I' S! E6 N( N/ C) @ {
1 I( ]# T a7 t; W; d7 Y6 Z$ c3 w: M if(debug)
8 {. u6 I0 W& z) ^7 z {* g/ r- c. x, B) v u* k/ Z
alert("last!!");
6 t+ S5 S. K! F7 Y }
* x) |9 g+ Y' j5 H+ ~& s, L' N/ H7 b if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ p+ [( \; n/ e
{
/ R* a0 s" R& B* _ orgNode.parentNode.removeChild(orgNode); ! E# G# c2 B# ~
}' E7 B* i5 u4 o8 Q0 m$ [! O
}
' f- Q) v0 g- O+ [8 k! U- Z else' {! ?, o- G) U2 e& n0 U
{- S4 g! L- J& G4 N9 y$ R
if(debug)
/ C2 j D* _% T) I' p3 j' U7 p {. \# Z$ W2 U% M' Z
alert("compare color and parent bgcolor!");# D3 Q3 N; j1 ]8 m3 i4 b6 M/ z4 H+ K
}
& G9 l% `% K0 b, T8 \9 j parentBgRGB=getRGB(parentBgColor);
" _7 @% v7 o$ N5 v9 l: f( H if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) O* z$ D8 [+ E {
T, |0 `( N/ e' l h4 R# W# @ orgNode.parentNode.removeChild(orgNode);
7 l6 l2 r- z" [. M8 [ }
# G" G3 p; Z; h5 F) ]! G N }% f" V0 V" c4 u4 b* k6 ]
}
& ?& c( j% v* ?1 [1 @9 R }
# K; D. ?# A7 U( L' z" U# U }) }2 G: T- ^( v7 ~/ ~) T1 |: S" a
}
$ T4 Z8 {# \) y8 O+ s' ~- X
8 N3 u- E' Z8 \5 Q - h0 I, O. I9 W
var itemFrames = page.getElementsByTagName("frame");
1 h5 X% H6 T, {* X. |8 J) l% N var itemiFrames = page.getElementsByTagName("iframe");
% H2 @& b4 q6 m' o1 I7 w
5 `8 k! Y3 K% o6 \/ O% g var frame, iframe;
+ t2 r! f3 I. l- ?3 z! n if (itemFrames.length > 0)% k. u2 f% ] ~+ v2 N
{7 [" O% d- t1 K8 q
for (var i = 0 ; i< itemFrames.length ; i++)
8 p7 u7 z0 k) w5 ~( n5 w {
1 @& i' B3 r C) }3 ~$ @ frame = itemFrames.contentDocument;8 ~9 a, I" l5 {
this.RemoveHide(frame,objname);
2 ?5 X" }8 R/ \. l }
: d$ X1 P2 h" a) M, Y" W }0 |; v5 V7 D h* b, ~
if (itemiFrames.length > 0)
& S. Q8 s p% ^+ M5 E% M { f% C0 t+ l3 U3 F
for (var i = 0 ; i < itemiFrames.length ; i++) 4 {) S5 C' T" E$ B/ n
{& g2 e- z* N) Z$ i
iframe = itemiFrames.contentDocument;. {9 y0 P5 A' C7 p5 D7 d" w
this.RemoveHide(iframe,objname); / p8 A- n) y+ c/ M3 \8 s# k3 r
}( r$ u4 l' B& ]( k, I8 ?
}
I6 D) p2 u$ _* ]: g' Z6 T }
- w$ o& a8 z" D catch(e), A3 V( m, D' Q8 k- a
{
* A ^5 U& `5 u" Y5 t) q5 d if(debug)! g- Q0 d9 Q1 }( h+ y- C0 i
{
; c1 i: {3 @$ s \) Z0 e alert(e.message);
+ b8 F+ g( t0 ~0 ], L# C5 Y$ W }9 T. ~* X3 q) r4 V+ k
}
0 t7 V1 L# }7 H; T ^5 E/ Y) D }1 c" o6 g9 i& g7 r0 x
1 g% J, N) L+ i}
' n! ^* I$ Y0 n9 Z$ {: L& U/ o( f2 ^* X$ ], C
function getRGB(colorString)
6 p+ t0 m) E; ~0 N{3 Z1 n# o8 D" `9 T4 X, {
var RGB = new Array;8 `0 j6 v& S% s n; O0 G
var tempSting=colorString.substring(4,colorString.length-1);
7 C% U, w n7 x% f* u7 n var tempArray=tempSting.split(",");
) v) O: G5 f: z: h- D) Q( d% b3 ~6 ~- y5 f- r
RGB[0]=parseInt(tempArray[0]);0 d! V' p4 O; |& y6 r7 ~2 Z
RGB[1]=parseInt(tempArray[1]);9 L9 i! H7 X+ F* R% R
RGB[2]=parseInt(tempArray[2]);
5 T3 U9 Y M- l& g# _8 h
6 c1 P: j: A6 |, _ Z' M2 _ return RGB;
% x) E- s. r5 R2 b}0 J) k" _4 k( e3 o
function keys(evt)
- W( e6 Y7 e3 S* h+ f* \0 | {
3 P/ J( r& H2 A! m" N; h if(evt.ctrlKey && evt.keyCode=="81")
2 C% V+ l$ [# O4 H {
, O. `( F2 n. d* v. }* T6 X4 { CleanHideObj.on(0,1); \4 k/ e/ `& p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- c' s6 T& |: a* Q2 l : ?2 L- H; ~* Q7 ]% h# M
}
: H p* o p' |: g: b9 d }
, V6 X, r! s7 ~: h6 hdocument.addEventListener('keydown', keys, false); , J; |) l/ i* {9 l
GM_registerMenuCommand ('Clean Hide',
0 p; `3 A# m% J$ b' b; _. g ~' hfunction(e){3 p2 h5 N2 O% N; S- l# W' l
CleanHideObj.on(0,1)4 t6 S, e) d7 n/ r- z6 G' w, M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 o5 j* W9 E; m1 U, o1 m});$ g' E. n) k- c: ]0 g
|
评分
-
查看全部评分
|