|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. Z0 W: p I7 C: z7 M% l
- Q/ N) T1 C( J8 E4 Z火狐插件,用猴子
, L4 {6 ]4 o/ v7 g9 M+ C& |; k1 Z* C, m4 ]" R
var debug=false;
0 o- K h- Q+ avar CleanHideObj=new CleanHideClass();: `: ^2 b' K2 K9 x7 i- S
- B% W; I/ u' v; B+ y" g3 U. ufunction CleanHideClass()
, j9 p; A8 ?; y, u. l; `{ 4 }# Y t- l: _2 B
- ?: {* z& f* H0 G% e" u this.on=function(id,bMZ)/ v3 ]) x% B* S2 r
{' t% V: D+ {+ s" F4 y# m8 i
/ P- q; h' H7 i# o$ W if(id == 0)
# |! |% N+ H. J& Z8 v {8 [. {, }/ ]& B8 U/ ^+ O3 [
var page=/* document.getElementById("content").contentDocument */document; & G+ ^" \, `1 U" O0 T
this.RemoveHide(page,"span");
$ N: L z* |; j this.RemoveHide(page,"font");3 v" I( P& _& e
this.RemoveHide(page,"div");* x6 x: a1 @5 Z. t: i/ I& t2 z
this.RemoveHide(page,"p");
- n+ P0 ]5 r2 n# N 3 M* A# Z, ~! r U, Z! a# ~" y
}
: o) A/ m0 ]" u2 r
- D$ c+ S7 T; n, Y) I0 B! v }
0 [; Y w: ]7 k' z, v6 c( k* K3 b this.getobjstyle=function(node,prop)
3 @/ \; e. }+ n% ^% a7 A% _ {
F4 U5 W+ \+ O* h+ P try) L: y# z+ B- x! H$ R
{9 M9 B9 z9 x3 O) }6 p, E& w3 R- l
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);4 q! h1 R8 J+ z$ q2 ] |0 l1 X
}9 }" P8 B: W) E+ g8 E
catch(e)+ ^4 j8 y6 Z# i( V' K/ S
{
" Y6 @. V- h+ h1 v& h$ U& N b& l; b if(debug)
+ `( C; I2 {% f; W0 i+ Y {
, r/ |, R4 E- l' O6 r alert(e.message);
- y9 p: K. p; k. n$ `) P, b2 w }
% @$ J) r. z6 u5 A ) `6 W; M. T/ ]) D6 F
return "200";
, V) u4 i$ Z" V1 n* N }& \/ {0 P0 `9 }/ e2 ~
}
0 R4 y8 U; `7 B! U2 [+ v3 f8 f8 [( s ^. H# Y ~) w6 S# D- ^
this.RemoveHide=function(page,objname)
8 k2 ]5 b( X4 W {: ]5 o1 K2 B* c4 L. u
try
8 ^" v; ^- v' t8 _0 o {
# Y1 @* D+ p" O8 k/ z9 Z# R% D& D var minValue=15;' V) N* K/ }. o+ i& s
var objs=page.getElementsByTagName(objname);
% W. ~1 H7 P% }( G& v
6 S( l$ `2 t6 }& j* X if(objs.length == 0)
$ s/ y( U1 g; ^: l) T% r* n {, _$ a# V9 U/ V5 p7 j5 w5 s% b
if(debug)
9 W6 F- E; x" \3 p3 B% _# a {
8 V* N) t. J( Q+ A1 o( ?7 L alert("no object found!:"+objname);
* @1 j0 q2 R. D! W1 u }
$ b% l I5 O1 n }6 j* b+ e- W- y; S" R4 K; g
else" A2 N4 R3 o7 }; L/ ]: W
{
, A' N* ~7 g' ~$ c
/ a. D4 p% q8 W0 g for(var i=objs.length-1;i>=0;i--) 6 e7 @2 H1 ]7 O) j7 e4 D, S
{
+ L9 i1 W" M* u1 K+ M% z var node=objs.item(i); : h- \; J- d0 b1 h1 S' C
9 Y! I% v' ]7 {% d7 x ^
" r* S# J5 S" P if(this.getobjstyle(node,"display") == "none" ||
4 X# i- u. \3 ^% r) ? this.getobjstyle(node,"visibility") =="hidden" ||
- J: f# ^+ c |+ E/ r7 U. M3 l f parseInt(this.getobjstyle(node,"font-size")) == 0) 5 x8 l# u# I+ ?& l$ Y& m, `# ^
{
: r* |* i1 V1 ^# ~$ G if(debug)" ^2 a; y; F+ E! V
{7 Q7 h! x& ?- X2 r
alert("remove invisiable!");
; e6 L2 r7 H$ j5 t/ W }9 x+ u# T- p. c
node.parentNode.removeChild(node);
, \& A) v0 C# j- q) o 0 p& {( ^1 g Q$ }
}
+ _* W+ K* q- O- ? else 5 f/ O# b; k1 M/ E8 u$ e
{
+ ~! i |1 R" K# S( `* q8 D if(node.parentNode)
: }% D5 G/ o! h$ Z1 U3 |: r {
$ x$ y( c! H% P! M' K8 A- M var orgNode=node;: B X# d9 k \6 n! |& d) O
var orgColor=this.getobjstyle(orgNode,"color")) H [5 h! q- T* I U8 M) {
var orgRGB=getRGB(orgColor);
* P: l7 C1 q1 X3 T
+ L' A, o3 m( b var parentNode=node.parentNode
$ p3 G! Q. y+ s var parentBgColor=this.getobjstyle(parentNode,"background-color");
. D' v2 A6 D1 J& r, N
% T/ h. a1 C- Y# _/ j3 M var isLast=false;$ m) A6 q4 O( j- h6 K+ u6 F' c5 C
" F" W$ P, |1 K& K0 B while(parentBgColor == "transparent")
) R! y5 h0 G# w5 s8 o) A {9 J. @% p% p- y, M( p2 c7 A4 U
- C* ~9 j8 H. w
/ {3 ~$ U1 S+ H4 A: O
if(parentNode.parentNode == null)
8 b7 l+ V* f/ @. o7 ~% t {
- o0 l' W1 c- z3 k isLast=true;
5 N' J" U9 S! R. k3 t, P4 j break;
" z( W; q' x4 R: n: Q" ?. \" | }
0 V# L& Y) V3 t parentNode=parentNode.parentNode;7 S( w4 t" D2 K
parentBgColor=this.getobjstyle(parentNode,"background-color");! D4 u- K; n8 U, w9 a- {3 D' s
# B+ I' Z; n3 @1 K8 [5 y7 \( I4 N8 w
if(parentBgColor != "transparent")
5 l9 |% i3 M0 a5 f. P2 f9 x, Q8 S1 m, s" s {. C0 M9 [' L+ f' H# H9 B! w [
break;& D$ i8 ^* y2 L
}
) ?. q% [5 L, F- _5 G( M }. m# {* q/ _: r
if(isLast) + _& T, V/ g$ z2 {8 n6 R
{( J' G" R' O. v6 F
if(debug)+ F& c5 L2 T3 r, H4 L* ^
{% u* r( h$ [2 d! X/ J$ w. o
alert("last!!");
6 t. p/ {+ F6 w8 e, W4 ?" a5 F }; K5 V+ b% o j8 ?" ~$ _
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))9 l2 w7 c5 K C2 V) I0 u
{5 K% `6 c, S u
orgNode.parentNode.removeChild(orgNode);
% E3 N z3 i. c" v1 I4 G6 u }
+ @: @: I, ]* @- }0 h }
$ t/ F7 G2 P" V3 a( n( C else+ K. p( `, i' X
{
6 j4 V1 t5 V& D5 U! ? if(debug)
/ g- i! t7 F G% f% { {) M9 P4 v1 Q' A5 E
alert("compare color and parent bgcolor!");
7 s: g/ C- E) s- ~2 c$ ] }7 f1 R+ O. k& H; _: z3 z7 q9 z4 P
parentBgRGB=getRGB(parentBgColor);/ c% V4 R, c$ u1 M( Y. l S
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)), u0 f5 C% g9 H. E6 z
{
! }2 _& L" C! t4 P; r orgNode.parentNode.removeChild(orgNode); 9 ^5 C( S; J8 t. d3 y8 \
}; b: c* a; p' `
}- R- s8 u: W. ~
}
1 D% d/ G$ i6 @! n- y# A8 Q }4 C( F, a3 _1 K P: h
}
$ O# R4 p o; b9 W" O. k; y, ] }
6 o$ w/ u) c* }$ |' s# Z5 ~4 P
A' l+ f, z9 |0 q! \+ _
9 }* C Y. g5 t3 N' H var itemFrames = page.getElementsByTagName("frame");8 G. q5 e. W/ H2 J$ n6 s
var itemiFrames = page.getElementsByTagName("iframe");
; ^' L- j; D/ Z2 b @) @/ q1 l 9 {+ a, \7 U& E$ i$ S1 b- R
var frame, iframe;
! s9 b" E* a- d% q, x if (itemFrames.length > 0)+ } Q0 f0 q, \: |/ R
{, ?8 u$ i: Z+ }
for (var i = 0 ; i< itemFrames.length ; i++) . g% m8 k8 ], N: B8 y) [: J
{: x3 W5 a" @7 K0 r
frame = itemFrames.contentDocument;7 ]9 o6 {. J3 W2 j7 R
this.RemoveHide(frame,objname);
3 S' r/ `8 b: {, ] P }
' k0 a) Q& ^8 u3 l }
" p! K3 c k& n if (itemiFrames.length > 0)
+ _. n( L* i: ?* g8 R- ? {
v+ [3 g$ Q) b! C3 a I for (var i = 0 ; i < itemiFrames.length ; i++)
) i+ e$ m/ u* H' B% ` {
$ J! d8 q( V2 P* o$ n! l- L/ z iframe = itemiFrames.contentDocument;
- b. z! r( d5 {8 B# N this.RemoveHide(iframe,objname); : Y* K' @0 y# e! d! @
}
4 X! y$ ?3 C# B4 L! z' z/ x; G }
5 j6 p! b! P0 P. v }: R0 Y( J3 d6 z6 r. {- X7 u
catch(e)
& i* I6 Z9 F$ A* R6 o {
3 n# m$ P6 D* `& B if(debug)% h- N9 m: W. g$ r, W4 A- _. h
{
0 w/ i; r' ~% K2 [4 t: J7 z/ B7 Q M alert(e.message);( s0 } p) v; i# z9 q* v' Z
}! i8 V1 [- K! C8 a& S6 Y% v
}
* g1 `* J3 r) r/ V$ U }7 d9 N! K7 u# P/ e6 J9 V4 `
/ Q2 Z5 c2 h4 i" | n
}
2 t. X8 g3 u1 o3 g) n, w9 P! d8 G" j9 u! _+ c
function getRGB(colorString)" G4 M! S$ y( Z" A: e% m) `; J, |
{' l) T6 {9 `. F+ k
var RGB = new Array;
+ H. }; g* H5 X1 | c. a) I- Y var tempSting=colorString.substring(4,colorString.length-1);4 P! A9 [, T$ U/ B* R7 ^3 M2 T
var tempArray=tempSting.split(",");, E2 f6 o/ C3 T7 H6 Y9 A9 R
4 j9 o) r3 k, M, ~+ ~8 N; w+ j
RGB[0]=parseInt(tempArray[0]);
9 y* c a8 {. a$ a' I3 W9 z RGB[1]=parseInt(tempArray[1]); B( a! \; Q% F" [
RGB[2]=parseInt(tempArray[2]);
6 b3 D/ m0 O& W: P
- e5 w R3 U3 l% {1 u return RGB;
1 ~1 R( s( X" C0 }+ [3 q' S3 P, t}
- [9 ~* F7 R7 Afunction keys(evt) ; f8 Y4 k2 O' u% }- I8 `) X& I. d( C! ?
{
+ F" a3 E2 T" Y, h3 d if(evt.ctrlKey && evt.keyCode=="81")
5 |* o4 {! z4 B1 s6 E' n: _ { o1 F3 i: v* y; K
CleanHideObj.on(0,1);& o9 G+ x! A2 f# i6 v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); , ^( ^! d. e) Y X
% S9 Q5 i9 }% P( e }
- C. k. I% J& F! P& z } & p0 b& K8 L: d; z
document.addEventListener('keydown', keys, false); Q! v$ [! y: D
GM_registerMenuCommand ('Clean Hide',
1 X6 y0 m1 |" t0 y; T6 ]0 Afunction(e){& d. {9 k8 n2 p- X% e
CleanHideObj.on(0,1); I! @2 V, z& L, t- t
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 {7 m# ~& C& ?3 N) a});) b- W& q1 w8 h) L9 ]4 ?4 a. t
|
评分
-
查看全部评分
|