|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 4 R) c5 z% P+ v
8 V& M0 ?2 B3 d. B6 D8 N火狐插件,用猴子4 {/ m- o9 S- H5 C+ @& |& B
5 a5 G' M- ]2 a. K, G. K
var debug=false;
$ N" s3 x* |& n& dvar CleanHideObj=new CleanHideClass();
' _- o( P/ [% q: Q# c( f7 Z( Y6 N! B1 b6 U3 q
function CleanHideClass() 8 X' b/ v) [$ Y2 R! t! z m2 t0 s# e4 C
{
- H/ f# y9 c! Y8 e* g* x- D5 f 2 C- P9 n( l# p8 }- C; d, P# k7 m+ p
this.on=function(id,bMZ)
z3 I& O4 h% l1 y. Q {
, `$ ~0 L' N3 f9 o* Q1 E ) x! k. @5 w* W
if(id == 0)
/ N2 n6 A5 h+ {9 T3 M {
( \7 z/ u' u) M var page=/* document.getElementById("content").contentDocument */document;
* q( ~$ }* J1 _8 W+ i- r this.RemoveHide(page,"span");# \, K! c: ~& ], I; X7 ~6 l
this.RemoveHide(page,"font");- |# y8 p( l" t H
this.RemoveHide(page,"div");
, \* T1 A. L9 {- M4 S8 {# F this.RemoveHide(page,"p");
" c2 m9 N# ^1 b( i; H3 X) U
" g6 Z; P* o7 R* c3 D' r- D A }
0 v) b6 l! |$ D8 a1 l+ Z3 D' `1 _. d
3 I2 G) Z) g0 @* Y }: M* N) }5 U# h3 D) }
this.getobjstyle=function(node,prop)
- Q! Y" h. m8 ^ {
8 f, J8 C9 X& M: s- I: d try
1 P- d3 ~/ u5 Q1 e {
# s N" n; U! h- G return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
! P, U+ u; ~/ L' m; Y }* \) g/ e" l! U& [; e0 g0 c
catch(e)
, E# j! E* s" ?0 ^1 u: C; t {/ w. |$ M7 b" [4 o
if(debug)
) T6 w: T5 D6 A6 F6 b3 n' q0 o9 a {6 C. l/ }' M* t3 g6 W
alert(e.message);
5 H7 g$ z8 a/ d: y }
* _( O7 b$ a$ e1 X- z0 l R
5 z$ k9 _) f4 _$ M; U return "200";
5 w. I. ?- v0 D% m* t, _ }# u6 U* N" X! [9 A/ u- W
}' p% k/ u& B% Q$ q" m
; c. H7 E! r( H2 M0 T% j8 g this.RemoveHide=function(page,objname)
* C+ y2 k1 i$ F- k# h; q9 O {* ~* {5 G+ K9 d0 E5 @
try
! ~' P5 h3 c: ^ I0 h! W {
1 s w7 r% t/ o* z6 q5 R: P var minValue=15;, b" I; T" e8 r0 o% {. j6 g# i
var objs=page.getElementsByTagName(objname);
J. t8 g7 u" p6 \" S* u1 X% s
; g/ ~% U4 ~: q7 s if(objs.length == 0) ' Z/ p& \" E- {0 U. V
{
; W8 Q: K/ E5 S2 E; h& j: e if(debug)# x0 \- Y0 d ?* t3 G! ^) e1 F
{
7 R# o5 ?0 T9 Z8 f4 O' Q8 j alert("no object found!:"+objname);0 c) O' }8 l9 l+ o k# D4 W3 p9 v
}/ y+ D+ G8 F5 ?# C' [
}8 S3 ^& I9 ^# J' t) W. J7 Z
else! T+ w, ~5 e: ]$ ^- `' f
{) r6 X1 k# C( m: c+ r4 ?
; u+ Y& k8 P6 ]; I
for(var i=objs.length-1;i>=0;i--)
6 p4 k: `3 M: K$ R7 N* T3 f2 B {
1 ]8 ^, n% c/ \ var node=objs.item(i); v& {& A4 M7 a2 P# i' X! F0 R8 ~
# L9 u; ]# i, D9 z % t1 t; {+ s6 v
if(this.getobjstyle(node,"display") == "none" ||
9 J1 h; {* Z4 L6 `7 _ | this.getobjstyle(node,"visibility") =="hidden" ||5 J; p' `; l7 g; m" [7 v
parseInt(this.getobjstyle(node,"font-size")) == 0) ' w9 @* z4 S1 W
{7 ?/ C5 H) n* l) W
if(debug)! ^, F0 C; s) Q, N3 e
{( Y: A+ w, ~5 x/ Z
alert("remove invisiable!");8 t2 J- o! W6 e
}
. { \- o6 N% }4 B# [8 C node.parentNode.removeChild(node);
; B# D W% M- Y. S1 `# q6 F( C6 Z ! ~$ U- G! O( Q7 |
}7 n, c; ^* d+ H# Q9 }- c
else * i ?- }8 s/ B9 ~ Q0 }+ x
{
/ w+ X! I Y* Z. x if(node.parentNode) ' M4 J# F$ [) T
{( i6 U" y& t( X+ t. y
var orgNode=node;
6 K4 Z: x8 r' f A var orgColor=this.getobjstyle(orgNode,"color")
7 F2 H6 U% e' C& K1 e" R2 z var orgRGB=getRGB(orgColor); 6 T6 Q! s- e0 N8 X9 i6 i
# ~8 a' g9 N/ [% d, x9 }# t" r2 h
var parentNode=node.parentNode0 e4 L2 n6 g, X* p9 |% V
var parentBgColor=this.getobjstyle(parentNode,"background-color");
! J) {0 _' J9 D; P P; u+ r
. h8 T8 ~' c* [3 U: M. K$ }: X var isLast=false;7 b5 S7 B& V9 I3 u% }6 g
5 O$ B) }; K) ]7 A8 Z5 u# W while(parentBgColor == "transparent") 8 G9 |# a2 S: a. o3 j& K+ S$ {* y
{
8 O! O# i2 M3 }6 a ( ^& S+ ?8 n9 d" f3 E8 _" a2 S/ ^
j( X+ Y* L( h+ P% O: `: I3 t
if(parentNode.parentNode == null). Q- `$ L p' T i6 A
{
" h8 V, n) G, ~( r* j0 ~" c% B5 n isLast=true;. i O# U5 ^* d5 }. T# @/ Y/ G
break;' f- |" J$ N9 B7 F x; V
}
7 J, n s8 ], @& Y parentNode=parentNode.parentNode;
% b( e% l5 B6 F parentBgColor=this.getobjstyle(parentNode,"background-color");
4 S( H( a" J9 u/ A! ?" ^' R3 j
) [$ M* }* Y6 x2 h/ ~$ F# H if(parentBgColor != "transparent") # I7 X5 U' k& S7 ]4 l
{ F* Z& k% A+ k
break;, ^9 C5 l3 x/ |5 N* l
}
5 F/ U3 K: F7 G+ g& W }* f% f/ Z0 c5 i
if(isLast)
4 E: f3 f y: i: o0 W2 a { Q# c! @3 l$ m O
if(debug)
; J1 k& T+ s4 N0 T( r+ ?7 k: ~ {
" f, ~; K* H+ b+ X1 O3 K+ o alert("last!!");: O1 o5 E/ f$ T. Y6 A' Q
}
- E% C; n% Y& I if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))0 F; P! Z- R: r5 V
{9 k% M# }0 w; D1 D5 t, a! R7 G" x
orgNode.parentNode.removeChild(orgNode);
) g) _4 s% q6 D) h5 T; G }( P1 X$ c s0 `" j C" d% D
}" N& ?# d. ] |8 L: z& @
else8 i6 C5 E+ u+ Z# G1 k- |6 Y
{* j( Z% `8 X& e9 L/ V B
if(debug)
+ N. h* |# [( k" K {/ e" ?7 e8 @+ e J5 f0 u' k" P, R+ B
alert("compare color and parent bgcolor!");4 X' l, C1 A$ N, A; U6 v/ r3 O/ J
}8 S' l5 o2 D, a& h k Z
parentBgRGB=getRGB(parentBgColor);/ P9 F: s$ V6 n8 d( b' q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) n2 R3 Z* ?% p8 U( a$ m M
{: G3 m" a5 j% ~0 O
orgNode.parentNode.removeChild(orgNode); ! \3 \/ `8 R4 M! S' i- S
}8 {8 ~1 k+ r, V6 H
}, r9 G. P/ F2 d C1 N
}
# \* G" C+ u( J7 ^ }& |0 p0 y, @: f5 ~: j
}
/ z7 F) P5 D# H9 A6 e# o }
, x# N( j) q% }# s
" c6 ^$ J1 {8 E! | 9 }9 h7 K& F+ Z9 h5 [7 c
var itemFrames = page.getElementsByTagName("frame");& t. I3 X- M) F7 h# D$ k6 P
var itemiFrames = page.getElementsByTagName("iframe");- ]; O6 I3 \# I% {' ?% F
2 l# O' A& H! F7 @
var frame, iframe;
+ [1 T. Q1 \( C2 A& o' W' V w if (itemFrames.length > 0)
# l) E5 E7 K& [- ~$ U, u# o0 Y {8 f/ e2 X/ k% m- d/ I
for (var i = 0 ; i< itemFrames.length ; i++)
2 b( Y+ P i' B M% Z {
* v# d8 ^2 y/ x7 z9 ` frame = itemFrames.contentDocument;7 x1 p$ R7 J/ y6 @; {! A# Y
this.RemoveHide(frame,objname); ! E+ |, x+ w- w, e' t, z
}
8 a* P: t/ C a0 u6 ]7 h3 s }3 b; v5 G% I3 M. J7 e2 }
if (itemiFrames.length > 0)
% l" ~9 j( V& \5 N; Q6 i1 j5 V {6 @4 u& l- t0 w8 K- t+ F, _$ y u7 Z
for (var i = 0 ; i < itemiFrames.length ; i++) - P! Z, @0 \% f9 i5 G! Z4 h) \& y: d$ k# a
{
7 b. | _) u4 Y% M iframe = itemiFrames.contentDocument;
6 ]1 m6 g( O! |8 z this.RemoveHide(iframe,objname); & P1 P+ ]9 B# X& U6 V
}
. V1 k w6 }( u7 i }
\0 l" g9 @5 ?9 Q+ g }! i2 ]6 N3 x8 r$ L2 o" c& |
catch(e)- v0 R% h; q; ~! I+ @2 h; I
{
* s# E5 U: I+ G, t! r3 { } if(debug)
0 c$ S8 `7 I" d {" I2 j |! m6 I" g* f! X& T4 {( S
alert(e.message);
- u! [8 `$ u0 o" W }0 o/ Y! D4 A2 \7 `$ y# j
}
" M: [& @8 W6 u! I }
& ]' g' r/ z, }/ x# P: Z" E$ \" q6 y : p& u1 Q8 S3 }' K9 i) Z
}/ R+ P9 D) |6 O& ]' s+ I
" s% j7 I& K7 E6 w
function getRGB(colorString)
7 i- y" J! [$ F& `* t1 d{ N( |# z- `/ S; H6 v$ u9 v. A
var RGB = new Array;
2 k$ F) y5 [ r& G u var tempSting=colorString.substring(4,colorString.length-1);1 V+ w: r0 [! H- M* X9 f4 J8 c3 o2 z* X
var tempArray=tempSting.split(",");
9 m) V/ `+ I% F2 ]$ ~1 Y/ f% }! N" y0 o2 `9 Q9 x# j1 i7 q# N
RGB[0]=parseInt(tempArray[0]);: s: @9 t s4 C' i, ?' t1 j0 K
RGB[1]=parseInt(tempArray[1]);
?9 ]- J9 ]! Y a3 \ RGB[2]=parseInt(tempArray[2]);
* U- r( \% f0 o* D& Q3 ]: [
$ n3 U- ?* d, A) `: G return RGB;
! [/ Y: U1 A* h0 `. r1 G$ @) F}5 L" z* M9 Y1 i0 j3 a) d
function keys(evt)
2 y/ f' e. a2 | {
5 x0 h' Q. r3 G if(evt.ctrlKey && evt.keyCode=="81")
- z6 }( M5 L. @" H n4 }2 F { 9 B, `3 b; F5 C% P1 W
CleanHideObj.on(0,1);, v# G/ p: @- g7 B' E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 3 y; ^7 u, F: z: J' H1 p; i
% x w, B7 M4 {3 j- @$ \6 J& {9 D$ @ }
+ g3 L' d2 o" S" ~* y/ K) \( j9 K }
9 `8 B2 W( q% edocument.addEventListener('keydown', keys, false); $ o/ w4 j3 ^, S( M+ Y G1 a
GM_registerMenuCommand ('Clean Hide',/ F5 L2 y6 y, z! G% L: j5 n
function(e){ {0 A" d. x8 ^& c0 ^9 P; [
CleanHideObj.on(0,1)
! C# ^% Z( A# calert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");9 ?6 O' F* y k9 J- f! U, X
});9 a0 ^5 r2 t5 ~# J5 [2 A! q
|
评分
-
查看全部评分
|