|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ H9 \' E& s0 k- l3 m. G3 A [% x& J
火狐插件,用猴子& S; }* P6 @- [( C
: k* i7 \# o1 W W) b; p) b
var debug=false; & W Y2 {. O. c+ ~& s
var CleanHideObj=new CleanHideClass();+ Y( E7 E0 X) \5 T
9 J i$ M" J: J
function CleanHideClass()
6 ^8 f1 P- Q/ b' P{ ( K- g' l4 A- g+ O7 r
) w# f- [" _- r( k1 a9 C this.on=function(id,bMZ), G8 w; Y% Q1 J& m7 n @
{
: Y$ B8 E/ l; p2 g
7 ^# w1 ]1 p& I: W: m1 T if(id == 0)8 |9 a1 w# J' X- d4 k* V) m" R
{
. J5 A" m4 w8 z y& I var page=/* document.getElementById("content").contentDocument */document; ' ^ j8 G7 D8 M% a- T& }
this.RemoveHide(page,"span");! e" g9 h& L7 |# [& Z" v4 D2 A
this.RemoveHide(page,"font");
3 z9 u! O4 ~6 G% t4 q% X this.RemoveHide(page,"div");
, }: e8 l' J& |9 n$ D this.RemoveHide(page,"p");
4 F6 a1 K% {2 i2 r* ]
& B3 @2 \' G# P }) X6 X( c0 n+ L% O. q% x
2 z f6 V2 f. _% ~ }) G1 r+ M; I/ Z8 ]& F
this.getobjstyle=function(node,prop)
$ I" N7 n4 y( Y# L4 u0 _: k {
7 D2 y& R6 d7 u$ J try
: k0 g$ @, h- ^ {
0 V6 p, x; E% t G# |& s return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 S# R# y, u( ~- D
}: ]( G8 k: K" }) `
catch(e)7 |3 f5 P: g7 o0 d0 v' ?
{% v$ ^! q$ {; }3 O
if(debug)5 Y- w3 q# G; p5 b& v2 L0 D
{- O+ k" ^$ S( J4 I
alert(e.message);
% U& }4 _; H8 M }
" \. V' n' G) x4 `: R
& P( \1 F# [, {: B return "200";
( c, d; g: q. O w6 n3 K; d }
, E; ^' }4 Y# n }. C; d3 Q+ t' B7 _
" n8 g7 C$ P6 b' P: _6 y; D# f3 e( A
this.RemoveHide=function(page,objname)
' m; ?* W* D' Y e {
d2 Z& V$ {" |4 F6 v* r try$ A( H3 H* G% a; h7 U
{
, a, |+ ~ ^% p2 i( F1 U var minValue=15;
! _% j3 c# x0 C, R: x6 K1 s var objs=page.getElementsByTagName(objname);
, L2 z+ ]# H8 I' C' @2 a4 q5 j6 o- @: A1 u, _
if(objs.length == 0)
+ ~- x5 H( k+ s: L {
0 I5 [/ n5 ^( c if(debug) ^" t- z r8 l% K8 O/ w5 U" [
{5 o. m( d# o2 U
alert("no object found!:"+objname);$ B$ o! l" @/ `6 }9 ?( e; e8 s
}
5 d7 w5 Q, l8 ~, ] }8 U% w6 k, I8 y
else) h7 n8 `! C, w8 D4 b
{
! n! r5 b2 E$ n7 ~
+ z, ^1 r7 I( m! W* U. @ for(var i=objs.length-1;i>=0;i--)
( M1 |3 t4 F2 U1 q2 G {
, c/ d5 C9 u& w& N6 ?* ?8 G var node=objs.item(i);
N! r0 C' z8 M! e; ]$ D
: j! f9 Y0 f6 |( X / y% k- _5 `' H9 L: a5 o, O7 c5 I
if(this.getobjstyle(node,"display") == "none" ||
# O" _' x( i! y! z2 t this.getobjstyle(node,"visibility") =="hidden" ||
% X/ l0 y t0 H1 _4 E. L parseInt(this.getobjstyle(node,"font-size")) == 0) " w% m6 V) c% I3 \+ x9 G
{0 X2 u1 ^' I( C! E" r4 `, ~
if(debug)
; }4 y2 @0 O. }8 b- {' P {
& a8 v! `/ C6 s7 L alert("remove invisiable!");
2 F" o' q4 u# _$ u0 ] }
2 W" B ~# Y2 b4 b# u node.parentNode.removeChild(node);6 ]1 g8 B; Q/ K8 k$ f, B
* ^0 [8 N5 |! k$ T/ P3 d
}
8 T4 i" |5 G3 z6 E7 y else
/ G( ~: y4 t4 U/ E3 e8 s/ U { n, T# {* R& y; f5 v2 X: @
if(node.parentNode) 1 I; M8 S) D" E) c) @1 U* K
{4 Q; `: E0 M8 N! Y
var orgNode=node;
{2 _" E) e& s+ w/ V var orgColor=this.getobjstyle(orgNode,"color")
- ]8 ~, A0 M4 d0 x8 ~9 X$ H- I var orgRGB=getRGB(orgColor);
7 ~# X4 [9 | P 0 k; Z" D$ l8 Y! L
var parentNode=node.parentNode2 U, }- R' T! f. C5 O/ Z0 P, Q( N
var parentBgColor=this.getobjstyle(parentNode,"background-color");
- }+ ~& m; `0 ] r6 Q9 I1 ` 0 ~- S. |8 z! o9 O: V4 @1 G' x/ t1 B
var isLast=false;2 ~! j/ o) U# n1 N
5 p2 `: C$ E& H3 K- _# p( n
while(parentBgColor == "transparent")
7 }$ m2 ^! ^9 k6 D# b, k {1 l+ {" }1 {2 e# l. [5 z4 a8 L/ I% ~
9 Y9 ]% U: a0 m8 Z7 H
9 U: h; y, D* Y" Q" f& ] X if(parentNode.parentNode == null)
- l3 M' }+ h6 ?' C8 N/ U$ J {! G8 W5 f$ g/ U6 {1 d
isLast=true;
2 W! g+ C4 P5 B6 L" H) ~: g break;
3 J! z: u# `& f8 S% G7 C% b+ ] }+ V0 {! w$ s4 s3 q$ r F, L
parentNode=parentNode.parentNode;9 l( @: L1 V4 T( F! Z% {# ?+ g
parentBgColor=this.getobjstyle(parentNode,"background-color");0 ]0 |- f% ~ e
) \( x9 i! q% w" S9 H; v: @
if(parentBgColor != "transparent") 1 c- o) b! y& @ f
{2 Z6 `3 N- J' f) }( q: {( v! k0 W
break;
: I2 l; S/ }: u; G }
/ j8 l6 Y6 m* p3 h }6 O% Z# {" e+ ?: u
if(isLast)
/ ^4 `/ M/ l: [/ ?" m { {& E8 d3 j" u* {/ Q
if(debug)
! [5 F6 P$ o- h2 G5 w( O {+ g$ t6 m% T( k# r7 x
alert("last!!");
5 x$ l1 c. |; U, @7 h# ] }
$ \1 I! `: _! O) E9 E8 T" j$ F if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ ]( S7 N# G6 g( A# s2 J# q) Z( s {
! x0 O' d$ e- X3 c orgNode.parentNode.removeChild(orgNode); 7 J# Y* b' Y# D
}- T1 g( @1 Z& Z
}
& B% J% n+ d( ?: C) ^; W else5 f$ N( f5 e- Z0 n
{
8 R4 c+ A M' l Z) Y if(debug), G7 ~% G7 x! D. V
{+ K! J& _% k( |0 y
alert("compare color and parent bgcolor!");
& v) t$ ]2 f$ ~" Z" \3 ?! W }. S/ S1 Z# G. R! x0 z3 s1 E
parentBgRGB=getRGB(parentBgColor);* e) G' b) |- d
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 j/ g& r3 ^) p- _7 q5 N
{
/ j, e9 ?7 b1 C0 R) s" `, d orgNode.parentNode.removeChild(orgNode);
- z1 C- ]+ O" j) E/ e: P: v }1 h8 R' P4 ?5 h/ E
}
! _2 ? T6 Y. x1 ~ }& {4 L. T. \) o& @- [% \
}5 @3 f( d" U1 c5 N
}& c5 K; l4 c; L: }
}4 `, s: M6 x e; b
. }; ^4 Y) I6 A7 L* u * i( ^3 B: s2 Z" `7 c1 s" L
var itemFrames = page.getElementsByTagName("frame");4 I* Z6 V1 p" g a& f" v% Q
var itemiFrames = page.getElementsByTagName("iframe");% g) D3 o: P8 L+ X9 i- I2 |
4 Z+ G& P# v! b$ r var frame, iframe;
3 X& Q* J- A( t if (itemFrames.length > 0)( Y$ y& J2 K0 b: V( e7 d
{( N9 |9 j) {7 [% q
for (var i = 0 ; i< itemFrames.length ; i++)
, m4 b) `; O# {/ R3 K! J: A' v {4 L$ b( [) l" c' O0 `7 g+ j. n) I
frame = itemFrames.contentDocument;7 c* @+ v( S+ T. X7 T. J$ j& i
this.RemoveHide(frame,objname);
- A# S: w$ h* ]1 y- P }4 H0 U+ v3 q4 t9 j
}8 ^* w# e) h# D% H$ L) _
if (itemiFrames.length > 0)* v: {2 j8 j+ R- C0 D5 j
{
3 T9 P9 R$ J$ T2 h; g3 N/ L2 e _) I for (var i = 0 ; i < itemiFrames.length ; i++)
+ @6 ~( J( _& s/ h8 l* q {# P7 z0 C6 H1 h9 H- Q
iframe = itemiFrames.contentDocument;
% l& |$ u. [; Q this.RemoveHide(iframe,objname);
+ q U$ f5 u% v5 e }+ H& f- X5 V8 k5 h6 n9 R# @4 ]
}4 |$ ~ X6 B8 Z
}
5 S, q/ P/ ~* j catch(e)# q4 i. X! t2 m/ ^9 b6 O4 v1 v1 u$ o
{+ g6 P/ ^) K2 `4 Z1 O
if(debug)& x8 }" f d8 A" {1 a
{% m4 ^0 @( ~$ y# F: c8 [$ K
alert(e.message);' z, C, W5 e- t6 I: o. x* A
}9 p0 _$ ?) S5 v8 q) v5 C
}. J+ I k1 U2 _0 ?9 w& u. _
}1 ^- k8 n: l! s: p
1 }, n3 f g* ?8 X. j: ?! x}$ A6 X# r+ z* l" X: U0 p
, _( f/ i' D- t; K
function getRGB(colorString)) f) u7 p, Z$ K ~, _# E
{- R# Y; M+ ?% U- y6 X; v/ f
var RGB = new Array;
i4 G! A4 Y4 o; w; x* z var tempSting=colorString.substring(4,colorString.length-1);
& z* S- m) i8 }, k+ `, y4 M var tempArray=tempSting.split(",");" K" G- S" O9 o4 ]
1 N, M! }# u+ @! D; O X4 P RGB[0]=parseInt(tempArray[0]);5 e7 D0 _& t& z' D$ J/ l- C
RGB[1]=parseInt(tempArray[1]);+ _' M4 M6 N H4 U& _
RGB[2]=parseInt(tempArray[2]);
! V2 V2 W, K' q2 ]6 N% U) b # {! E5 J5 H+ ^ T4 @* @3 e
return RGB;
1 Y' J2 ]1 g. L}
% g7 g& w) K( e' b( Yfunction keys(evt)
- D* ^( i% [$ ?( @; B6 F$ i { : s& s7 k* l p
if(evt.ctrlKey && evt.keyCode=="81") & z ?4 [$ l& @
{ 4 B, R" Q8 c" [$ d' l# Y
CleanHideObj.on(0,1);
* D$ E. b7 m3 Z7 k alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 9 D1 ]0 a8 M2 R6 ~* I4 x
+ W( l2 C8 D( e2 I$ n& P. S6 |
}
b" c, y" A) I2 r3 U1 D. \ }
; M# B6 F6 n1 s. zdocument.addEventListener('keydown', keys, false); & J- `6 I, t" B
GM_registerMenuCommand ('Clean Hide',$ U! d( n) ~4 m( k9 t3 h& l( Q
function(e){
7 ^1 i; s7 L j% TCleanHideObj.on(0,1)
7 w) S7 J1 j/ ]6 M2 |alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; p$ `( l0 k. j: q# o {& E% [});
2 {/ V& ^3 l1 Y8 k* Q: y% x/ O |
评分
-
查看全部评分
|