|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 x% P7 V" c) \2 Z+ F; Q" x
4 c, ]/ \ {- x% t4 S' G火狐插件,用猴子; o5 |) \) [- X) G
0 m0 z% b, N* Y6 lvar debug=false; + C: f3 y3 r; v1 d# p7 I0 g
var CleanHideObj=new CleanHideClass();4 ^$ Z0 _/ e% V4 p1 o E
j, l3 }8 @; O' G* T4 yfunction CleanHideClass()
. m9 g" D; I% f6 h! A, j" ?$ K{
* j# j8 A* O O, W- ]
* O, s/ b Y% A6 l1 b, [ this.on=function(id,bMZ)
$ m% h0 {+ B$ x" r8 O {1 r# `, q( E; b+ w9 I0 C
% Q9 P: T7 @: O: o h if(id == 0)
% r" [- O0 M7 Z {9 O* e2 X, i5 Q$ |5 u
var page=/* document.getElementById("content").contentDocument */document;
4 T2 q% f0 a, a this.RemoveHide(page,"span");
7 W6 Y# M* N4 @ v$ m4 q this.RemoveHide(page,"font");4 h) i0 w/ g3 N3 H' r2 H7 C
this.RemoveHide(page,"div");
- b- i& x( `8 X. g0 W; H this.RemoveHide(page,"p");
5 j: K8 \, H8 e. v" D9 G1 l
0 x4 C6 @, d' D0 i2 q4 ^ }
$ [, ?; ?& _* V! s6 N6 A* c 8 V4 H9 \# o2 i+ H, R9 O2 I* k
}0 L6 M$ W4 y* b: \$ K) ~/ S* e, l
this.getobjstyle=function(node,prop). P# f5 }& C/ |' v/ Z/ Q
{2 u6 J. F0 z _
try% V9 r& O, F$ r" Y" n# \
{
$ p* B. i+ Q5 H7 k4 X2 q' z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 H5 p: ?; Z0 d2 }7 _5 W# N& T
}* w2 q+ X s! a2 V h: h
catch(e)7 |/ M- l% d) \4 c$ w2 T; P) [ _. a
{$ v8 j) h; c; N, ^8 z
if(debug)4 M$ y" A' u: R- s& f& h
{8 ?1 Q+ `% Y+ E/ v
alert(e.message);# t0 T* f. @2 Y0 H& T: V
}1 E& h% @6 ^3 R4 J3 h( B
& Q9 e4 g$ N! E+ ^" S return "200";
% C/ {0 T2 J6 | }8 \* V$ s2 J, I
}; [! n* s6 B; O7 c0 Y9 m
* g# I3 Z: A% a- Y this.RemoveHide=function(page,objname)
- |+ v/ u% ]! h6 g6 L G2 D& k3 a {
) |- Q; G" y2 a) G! n2 w try5 ]! \; o9 r& t) m- Q i$ j+ }
{6 v+ _5 e, N' E) t3 O; M" F
var minValue=15;
9 a( n: {8 B4 ?" a6 L G var objs=page.getElementsByTagName(objname); , |# ]' E: R$ \; u w# O" [
' ~* a- |1 k7 o X Y" y if(objs.length == 0)
6 z& {4 ~2 ^- N% G2 K6 e {8 k2 m8 ?' r; q& u2 U! ]8 Y8 U3 o
if(debug)) Z1 W" [6 C8 y% f8 ?
{" ?/ E" @5 E0 R% d& Q
alert("no object found!:"+objname);& ^1 N: V1 r4 e; x$ }, {
}
$ F2 c) V5 s/ p8 l& v& ]" ~ } X( f4 i% U: B# T% r- u' a
else
! S% Y+ p0 S( y q" N# K {) f; s$ |3 A. M4 a. ^
3 m' [5 _( l# i5 Y7 _) @6 C' G for(var i=objs.length-1;i>=0;i--)
- R5 ~9 ?2 y! ?) T. b6 w {' A' V2 Y' @% V3 Z0 K# Z
var node=objs.item(i);
- b+ ^* T2 x. R6 V9 H+ ?
& E/ b& F, M/ {1 C. d ' j7 b9 C2 y+ o3 d0 k, v
if(this.getobjstyle(node,"display") == "none" ||" M2 K0 A, d/ K! ~" _
this.getobjstyle(node,"visibility") =="hidden" ||
n, S( [1 d# ^9 | parseInt(this.getobjstyle(node,"font-size")) == 0)
% h2 b/ j" J. Y$ R. {+ ^, r V( j' ^ {( f/ r; j! M# _- t% A
if(debug)3 a' |. z2 d a7 p6 V3 Z4 x4 U2 T
{ L& }5 `* A* n7 H, f$ R
alert("remove invisiable!");# A/ e- E% H& B4 ^7 }* N3 k
}
' J2 c7 g; n$ \ node.parentNode.removeChild(node);4 ^( f4 p' P% w. F) ^8 E
' c# v5 t: M' z. N
}, y$ Y0 g! B/ H2 M( |3 `
else " O8 J4 B. L. i+ ]2 N& p5 U4 C( E/ q
{6 ^! u% ~ I/ H% S t% A- R8 f
if(node.parentNode) * E$ q- m1 H4 ^ d8 C' c
{
* a: E) {3 ]- c1 z! }! C7 T- z9 l var orgNode=node;
6 H$ Z$ v ?2 Q& k! g' f+ H1 p var orgColor=this.getobjstyle(orgNode,"color")4 J- [2 V# ~; ~4 \7 f' ^' \
var orgRGB=getRGB(orgColor);
5 [0 I6 u* S# b( r" I9 L , C; m: Z! s; p ~& D
var parentNode=node.parentNode3 C9 x6 }1 ]% ?+ L; U3 M! Y
var parentBgColor=this.getobjstyle(parentNode,"background-color");
( c( t3 I6 Z% @3 y' T3 b. P
% C* C3 V/ \0 Y, Q8 f var isLast=false;
4 |) }6 s. R1 k; u* c! F+ Y7 ] 3 ?( r. H, N( M& h: m9 q' d
while(parentBgColor == "transparent") & |* c. R6 ]: m Z; v9 a
{6 }9 {, J" Y: y H+ y
& P4 J# j; Y; _6 _5 H
0 U& b7 d1 g2 Y B2 o* O if(parentNode.parentNode == null)
' X# w# [5 F3 s1 ^/ J$ [ {) s+ T/ V3 H) c, J
isLast=true;
9 {7 V: w, N5 l5 i8 p" G3 q, ` break;; ~+ k4 M5 A) r ^8 v
}) J. k" f/ M# f# q {# }, h
parentNode=parentNode.parentNode;
% X9 X2 @! Y1 ?! S/ L; n0 l* o parentBgColor=this.getobjstyle(parentNode,"background-color"); s" `* f: y3 ?2 P- x. c4 Q# h
8 }2 Q/ [6 K3 m4 \6 S4 i, ? if(parentBgColor != "transparent")
, ~+ @* ~3 m2 V# ]1 W( ~, k {$ ?" E. N4 q7 C) m7 ?( N
break;
' ^9 [/ k+ _' X9 \ }/ D4 F& C9 D- f% l1 k' o" w, }
}
1 C g- F; Q' J if(isLast) , Z6 n$ @% O$ `9 w" ?- w) G2 H
{! \, D7 t2 `7 Z# O |' z5 m& a9 s
if(debug)! R5 ^. M, ?! h' @5 z1 ?# m- ]
{0 U A/ w7 r4 q6 [# q* K
alert("last!!");
$ _& `4 _8 c5 }! \( b' w, a }( k9 w+ u7 E1 [, D8 v4 L R
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, j4 [$ g& J3 d t { F; ~3 D9 X1 x* R$ K
orgNode.parentNode.removeChild(orgNode); 7 G! T& T! ~( R, W* b8 {5 l2 d$ L
}, z0 @2 h$ l @8 f
}/ h/ _1 q1 r: `; A0 ~
else
# J( H3 U+ j: U2 I+ L {* W) W6 Q5 P8 W6 f
if(debug)
0 M5 s/ Q; u4 ?$ }" _4 ^ {3 t- `3 [# u! U6 D9 @6 ?6 X! `
alert("compare color and parent bgcolor!");
1 b/ K" m5 n) f5 K( z/ F( e }
6 j5 X- o& v- W, ?+ T8 s parentBgRGB=getRGB(parentBgColor);
, j; w+ G) D9 Y if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))& f5 p0 ?' c# l. D$ E: L& G
{0 A' D( a4 c( K& _7 o
orgNode.parentNode.removeChild(orgNode);
, [9 a8 H, C: H1 y- u' [$ @ }
! R, l! R1 G# @ }
" W- X7 i: E, X }& ^2 w1 M0 r2 J( L! [
}
1 F3 P+ t5 J f }7 g* d0 G% B; ]4 }) R
}
! M9 V; f/ C9 g+ b % y' P8 h; v% Q4 S, r+ Y" G9 c/ _
" ?; E" W4 a" _0 r0 x
var itemFrames = page.getElementsByTagName("frame");
' Y: D2 K& s6 V. J5 r var itemiFrames = page.getElementsByTagName("iframe");: x% G6 |6 ]. {3 b8 r* n, r9 @
- q% g( F# G& m" z! a var frame, iframe;* o4 Z0 q2 f2 P: `0 ^4 c: P
if (itemFrames.length > 0)! C4 R4 g3 p* h8 L
{% k4 p& e/ K( u+ K* E. X3 O5 U
for (var i = 0 ; i< itemFrames.length ; i++)
+ n, t: ]& ~$ C5 |- V {) G" D' g5 {! V7 q
frame = itemFrames.contentDocument;! p8 C8 J- | @2 d& ~
this.RemoveHide(frame,objname);
3 X1 z, @& K# T; M' r. A5 e7 C! B b }! z4 r, B' C G( W0 o9 K
}
) b0 d* W$ F7 _ n if (itemiFrames.length > 0)* f1 x( t% n5 m- ^
{1 F }/ Z, V6 H. \
for (var i = 0 ; i < itemiFrames.length ; i++)
7 x. C( Z! a6 o0 G4 d {
( W+ P# y1 g' b* V8 y' }/ X iframe = itemiFrames.contentDocument;& y( t0 ~7 C/ h. j. S0 y( W" h9 h
this.RemoveHide(iframe,objname); 2 v- J1 v9 w4 s8 ^* Y0 _. q
}7 [+ e4 y1 |; I4 ^8 I) O+ \1 O
}
. |1 s7 n9 j( G% v4 G4 {" Y, @ }& m/ K2 x! Y' ?0 \2 O1 }& m& V
catch(e)
4 o+ R U$ T8 G" o {
F; A: ~1 v8 T9 K! `0 ]. E4 f1 m* h5 q if(debug); h& j/ f! Z+ V# h1 `+ [$ s
{+ C( z9 ~& e; g
alert(e.message);
5 h6 u* J/ L" T1 ^% T }, @; i9 s7 b$ M6 o2 s
}
2 T& E9 d- T; Z }) l% g) d t+ o/ ~2 o
; f" g2 j& Z$ D. D; ~3 z
}
/ j+ N- k- E9 J7 c( p8 a* \1 _1 s4 c3 ?* u$ D) T3 v
function getRGB(colorString)
$ o7 X! g% Y8 G% H5 I{1 \: ?8 Q3 S6 d7 a
var RGB = new Array;
" Z6 n8 ~5 W. k1 J. X6 \" E var tempSting=colorString.substring(4,colorString.length-1);9 l) u$ L7 P' e! @
var tempArray=tempSting.split(",");" O5 k* e Y9 p8 Y
8 @+ G7 l" D' _3 M# x RGB[0]=parseInt(tempArray[0]);
! X* O# a \+ W9 O Y3 _! Z; e: w RGB[1]=parseInt(tempArray[1]);
2 }3 D7 V2 Z0 X3 y; ~: H3 c9 k, y RGB[2]=parseInt(tempArray[2]);
% b& d; o2 f% H$ I
0 H# l" Y) U: N0 N& ]% n return RGB;
" P) c% y7 s# H; v' \$ D4 t( G}
1 c; k% a* ~0 n; Qfunction keys(evt)
# B5 j7 }* J J7 u2 b {
! z- A% D% \7 x' V* Z if(evt.ctrlKey && evt.keyCode=="81") 0 M* U# y4 f5 ], r
{
7 Y) a' K$ ^# K% ` CleanHideObj.on(0,1);
: r; `6 e6 t/ C9 Y alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# Q2 }* X4 f5 i+ F }( F
- f% a+ n3 i- I0 G* H7 A } - R6 I1 c' k+ ^; L* e* {
} & y4 l% r! [9 i) r4 x9 ]
document.addEventListener('keydown', keys, false); 8 K, V: I# K6 s/ ~2 N" i
GM_registerMenuCommand ('Clean Hide',6 x, C2 ]0 E5 F( L/ f( p3 ?/ I
function(e){. f9 [( ^) a$ R+ v( l G
CleanHideObj.on(0,1)/ h0 A7 ?& D- K) \1 w5 g, q8 v) E( i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 B6 k; o, U, c1 Y8 J
});4 L: A6 _6 U& w5 r
|
评分
-
查看全部评分
|