|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 |/ E0 n0 e7 t) F, I' K q% G
9 w& X6 G2 B, i( D火狐插件,用猴子1 u9 s! `. i ~1 B% S
9 e' F5 Y: o3 G, [' H* D \- ?var debug=false; 9 d; @6 W( y2 X7 F
var CleanHideObj=new CleanHideClass();
/ p" o; y& b4 \& z, ~$ [% r
% A$ N" S O, E' n' Z/ Ofunction CleanHideClass() # G" G4 Z+ w+ w4 z
{
% p* H- |, C- b2 W' O( n5 d% a
& g+ ]9 C; p( g% w4 x7 ~, q this.on=function(id,bMZ)( u b, N w$ w& [" Z
{+ n6 C3 f# i n9 I4 ?9 S& |
) J3 m& n6 [6 f* u% B8 R/ \$ A. t
if(id == 0); o G6 ^8 ^5 l4 n9 A
{
0 N: x' l5 s$ t+ k var page=/* document.getElementById("content").contentDocument */document; ( A. v" S3 |0 u7 m8 \9 O- |! j8 R
this.RemoveHide(page,"span");9 `$ d; }$ V0 g
this.RemoveHide(page,"font");
. |* I/ } \ L4 U" u this.RemoveHide(page,"div"); S2 J0 Y5 I( P4 h: ^
this.RemoveHide(page,"p");
$ z3 i* _/ {+ J! \: F 5 \8 [0 [. z6 O8 w# a- R( H
}. m0 q$ a/ I5 V* |
M& w, a. g8 M! h* x }
# b* I8 \! J4 d( M this.getobjstyle=function(node,prop)* @7 x3 Z$ D# a2 @6 U5 G/ u
{
% e$ c2 Y& U* c7 |: k, ^1 z try
' T2 \( v8 S/ u# a$ v2 M {5 Z, G1 ?6 D7 F2 B. ]4 K: }
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 \9 s/ l# A8 ]5 V9 M& e
}6 D0 [/ j7 O% m3 w
catch(e)* J3 p0 R- t8 @
{
+ o9 h i& X6 M( w if(debug)2 E8 `# d( T8 ]) y
{$ _: j3 h: F/ v9 [5 s
alert(e.message);5 M" W. H& s- F$ `( i6 ? M# U1 U
}: h& [8 J( Y7 p4 j6 u
- h. O* X+ i( h& o0 g: N
return "200"; _. D- b6 P* U: }
} ?9 i+ F% Y. I4 G7 }8 o! @
}; v) p, V C6 \/ W9 t& ]
$ a1 U, g3 l4 m2 Y0 l) m3 s this.RemoveHide=function(page,objname)) m+ {1 W7 c7 a' B4 ~' t
{+ Y5 q" X. D7 S f! x
try. O2 Y. l5 o2 V! x6 e1 V0 V
{: ~, {. M/ a$ M6 h+ W" T0 ]
var minValue=15;
! K9 D8 K* Q* {7 q' y var objs=page.getElementsByTagName(objname); 3 J4 y# E1 a( v6 p
" G+ P5 d; z7 I) o+ u/ w if(objs.length == 0)
* Z7 L0 `( Y# L% |* a, u& N {+ ?( b; f- E J, v/ Q
if(debug)
* u4 A5 E2 u/ g+ i' y& w9 U {& u( `' a0 @8 e7 T0 c
alert("no object found!:"+objname);
+ ?; ]+ r* { j4 m" h }
# Q% b' T S0 R8 v }
; y% a, A! T; r2 ^, R( [, ] else
8 L1 j6 i0 Z; y* C5 i% ?" ^! _ {
1 }; A O- r. R3 w
W. q; C, F, y0 X7 v+ Q for(var i=objs.length-1;i>=0;i--)
' C' ^+ S3 Z3 a7 V1 G {8 s1 U+ F% f: h8 m" g/ H g( J7 x
var node=objs.item(i);
1 `6 }1 a$ b1 a% j3 h0 [0 t. p9 f . o; u# T8 Z% r- L5 v, _/ h
$ G, M6 N" H) N$ p if(this.getobjstyle(node,"display") == "none" ||
3 g) k5 o4 I- K5 b this.getobjstyle(node,"visibility") =="hidden" ||
) \9 c/ a( ~+ I5 ~) O parseInt(this.getobjstyle(node,"font-size")) == 0) 3 I, ^; d6 ^1 s1 W' ^: [" Y
{9 S' h! `8 h+ W3 U+ n# a5 _
if(debug)
( P I {2 T- f- `, ] {
, l4 n. {0 M5 t8 F alert("remove invisiable!");
: A4 a z0 z; _3 m$ R( @- d }8 X6 b% A3 H! X0 a- d1 Y5 W
node.parentNode.removeChild(node);& U1 F( z A3 b* q
& s4 @$ R9 ~, \/ c }
' z6 D) y- g" u% y& N" [ else / Q0 g: O+ W9 P! J; Q/ a. j+ M
{
+ Y+ ]5 |/ K) y: o0 g1 @5 D- x if(node.parentNode)
$ [ U6 J3 Y! \' k0 |; z4 }, O3 | {
5 n+ t: N5 D% v) R var orgNode=node;
" d9 J( S/ m9 D var orgColor=this.getobjstyle(orgNode,"color")
2 W/ E+ p7 ?. _9 @* @5 D var orgRGB=getRGB(orgColor); # B/ P8 X1 ]/ O, I& x( G+ \+ O0 }
+ I) ]& b3 t V3 @5 p- F& t) ~7 n
var parentNode=node.parentNode
7 C' p( ^3 O# ]2 ]( g var parentBgColor=this.getobjstyle(parentNode,"background-color");4 g) l# t, t ~% B
3 n% Q1 A" Z( J4 O var isLast=false;
# \7 z, Y9 N$ {5 M) d/ O) X) G$ u
1 y3 ]/ Z" x7 D) X while(parentBgColor == "transparent")
! s/ \# [7 C7 Q2 [: B {
) f0 |5 _' h7 W* \! W
6 C) l* G4 t! y. R `
. Y0 [, N) W: m/ t/ J2 X if(parentNode.parentNode == null)
L( n" L6 r$ \0 Y; {: ` {9 I: |6 a" \% }
isLast=true;
& j: X- g" k, h. z$ ~/ e7 V1 A. f break;1 y5 w0 p' C9 @; L4 z0 x1 Q2 J+ u
}
2 [3 R( J* K! @* u parentNode=parentNode.parentNode;; H3 |, u: {( V
parentBgColor=this.getobjstyle(parentNode,"background-color");4 ~3 [$ _9 z* n2 B) N
6 Q& o m' I9 h2 p( k if(parentBgColor != "transparent")
1 S( L! q6 ~9 P2 y, v {6 `1 C. p5 p0 \
break;
, ]1 R% N+ y% j: B4 \! U3 U, b }
- g/ @. K$ t/ G% F# b$ k9 Z }
, n" r9 V" ^: {, u/ w if(isLast) ! o/ A/ _1 B# O6 k$ G. U
{
6 y; T+ ]+ W- r& n if(debug)
! d/ ?( ^6 _& r2 R( T7 @' i {
& u" B2 j! ^0 n4 ?8 f alert("last!!");
+ o2 I( d" }6 H1 e }4 `# v) m7 J) E; O
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 R7 t) t0 e5 ?
{
* \( k$ L _* G- [, |/ p4 ~8 ] i orgNode.parentNode.removeChild(orgNode); ) s8 c- E9 y6 t5 L7 q
}& K% K. W$ `/ {2 Y+ k2 r( N0 U4 M" \6 V
}
& g4 A3 \% h/ B* B4 } @ else
2 {( T' ~6 p n; X: y# W( D {
( m& l1 t f' T6 D; R. F if(debug)4 E6 _7 C; U9 B9 }+ M( z% B. Y
{
6 i4 @5 h+ V: p7 ?5 @4 e7 U% `9 Y2 } alert("compare color and parent bgcolor!");2 l% |8 G/ E% _7 {# O/ r
}
\ u, u [2 |. k! B parentBgRGB=getRGB(parentBgColor);2 D, F7 z5 S# ^9 V$ A0 U
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' u# |9 x# ]& f* q {
5 n( J& q P6 B; Q orgNode.parentNode.removeChild(orgNode);
( J! F9 C/ ]# h }$ f- G6 a7 O* V& P
}6 m: Y; ]$ p* V
}
6 p' F1 L" {1 c: u2 j7 Y }: @- d5 C2 E+ x# v
}3 L. b2 B+ Q* j- `0 G, F6 |3 S
}! U) O# f2 _# M/ F/ q! ?5 A
# j7 f4 j* p i3 ?* k* x& ^
4 V5 r$ a; ?5 J- z" [$ b5 M var itemFrames = page.getElementsByTagName("frame");! G) o# k0 G+ j" R
var itemiFrames = page.getElementsByTagName("iframe");
+ r' P. G) S. X$ T; B3 M6 _9 S
# C8 e2 R3 l6 z2 G3 A var frame, iframe;
, h6 w2 A& O/ T if (itemFrames.length > 0): B5 |% u' Y" ~ w0 X9 Q
{& k% R$ ~4 U" B( O
for (var i = 0 ; i< itemFrames.length ; i++)
4 Y+ d- C% u* r; }5 W/ h( {% F. m {
3 V7 H+ R9 \& H" Z$ U* ? frame = itemFrames.contentDocument;
i" J& B, M/ C+ V this.RemoveHide(frame,objname);
Q8 |) L/ o3 {6 R% ~% l/ S }$ K" q- R7 `, \* c }
}4 {+ P9 E9 N- j7 S8 s
if (itemiFrames.length > 0)
, U" a& ~3 e b6 t4 A- C {
. r) a& r1 @0 M; @$ ~6 n for (var i = 0 ; i < itemiFrames.length ; i++) 9 X' c: I5 x) _4 U. h6 l; ~
{( b& k6 [! c3 A% d
iframe = itemiFrames.contentDocument;
* Y& ?/ k) ]" c2 e0 w1 |7 U6 R. K( h this.RemoveHide(iframe,objname);
) c0 Y2 P1 W/ f0 U" a4 g }
+ r. K# d# h6 Y4 ^ }
+ H7 g/ H) L1 ?8 B }
6 ~- n2 ]$ }9 v. u# ` catch(e)
( I- e* k/ r/ E4 J1 ?- F! V {
% n* A5 j: ?/ f6 l; E$ ]7 T if(debug)
4 Q) Q. Q8 r1 S {
6 q) b/ g8 z* t" c& X/ F2 A alert(e.message);
; A! ^: }& z- i* D Q }; [5 @7 a) F+ p* y
}% p, j. T! P5 ^5 ]; ]
}. i! F, m* j+ @ p+ Z
; Z- x4 g( s a _' A7 Y
}
7 S' S: w8 }+ c* X$ ?* c" U2 m' l' f8 S4 o# k& n$ j
function getRGB(colorString)+ O+ E. c4 d9 L/ E4 _
{4 Y$ c# L. g4 P3 ~2 z( n
var RGB = new Array;
" {6 E0 B4 G& U. K6 A3 j var tempSting=colorString.substring(4,colorString.length-1);
: S5 p P) d% |$ W2 [ var tempArray=tempSting.split(",");0 Z* o* F, w$ m9 o
. y0 @6 v* y1 o: R1 R9 {4 L: q RGB[0]=parseInt(tempArray[0]);
4 U0 c$ e; ?2 i5 [9 f! S( I RGB[1]=parseInt(tempArray[1]);
! x3 I$ W' f! ]2 L. s3 @: f. w RGB[2]=parseInt(tempArray[2]);
[! Z; i' O! `5 e
5 o3 q! ^7 u5 D0 \# x return RGB;. y4 q) ~. L+ r5 _+ R
}
9 {% ?# ^% G Ffunction keys(evt)
1 L9 F' i( A: J { 3 y' g) q, O4 B$ b
if(evt.ctrlKey && evt.keyCode=="81")
* |9 y! Q: v" r% `$ } { " S1 k! M/ i5 K3 d/ e$ {7 ?
CleanHideObj.on(0,1);
9 }/ R: ]" |6 Q/ H( f/ w alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); J* V: ]* k4 @: i
( T \; J* j# r" M
}
+ H+ V7 t; ]9 { C g# E1 Q R }
0 d6 f7 j* M2 [0 Xdocument.addEventListener('keydown', keys, false); 9 G& h* S4 Y2 O9 O6 i/ ?
GM_registerMenuCommand ('Clean Hide',, y, Q6 L0 q+ M; r# ]2 R/ `* s
function(e){
2 h3 S" Y, K* z) O$ k1 QCleanHideObj.on(0,1)
3 l- m; z% l8 ^# w3 m& ~alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 a# `6 `* k# P) y1 c C});
7 v4 D+ i2 o6 C t% ]1 H- v |
评分
-
查看全部评分
|