|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& C# p) v; d0 t0 A' e- ~. ?5 l
% f: h L+ l& Q火狐插件,用猴子4 u4 N6 S7 j# t( A
, v4 L" e1 c0 g. G0 }% u( zvar debug=false; # a) u/ a2 k8 H
var CleanHideObj=new CleanHideClass();
! I$ ?" \" ?4 [$ F S+ c" M/ l! i4 h% a, d |8 |* N
function CleanHideClass() * ?; v1 U1 o0 e3 n
{
- g7 Z# e2 z0 n8 d5 k! F$ b
$ I: q3 O4 G1 Y, E8 j9 d this.on=function(id,bMZ)* v! w5 n/ P, f. B& R
{) D8 l c+ L* F
0 N7 C8 j7 K+ J$ G+ D
if(id == 0)
7 n' _1 D; d% u+ h) j% I+ s* \5 I6 Y2 Z {$ k$ K. ]# ], T# S6 m) _0 p
var page=/* document.getElementById("content").contentDocument */document;
( l& j0 ^+ |" v5 ~5 }) o' k W this.RemoveHide(page,"span");
# t+ {" @, R7 ` this.RemoveHide(page,"font");
# `) F( J" s) H- }3 V6 h- i this.RemoveHide(page,"div");
" M. ?' d+ F. }' L! Q/ L this.RemoveHide(page,"p");% Q$ y' \ I& I% Z
/ H* i l4 S1 V% O" m+ y4 @6 ? }0 |5 P9 Q# f1 w
0 C, _/ m& ]5 @% p# w }$ N3 e* H" O$ X3 r# S
this.getobjstyle=function(node,prop)% K5 @' a1 [6 q1 s8 m/ ^) m6 o# U
{
0 d+ P* A( f" g' z$ u try" l- K: ^8 z: \) h, a& N
{. F* N) {( q+ o# Z% N
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. \9 a0 X8 g( Z2 p
}" g$ f7 @4 S! P: g% I
catch(e)7 N* K; b, V4 J& ?, P. p& I
{# [: o4 \1 U/ H
if(debug)/ ~% I$ D$ G; K
{- U: x, K+ ]' P; N$ z- z3 e$ {' g. s
alert(e.message);
- P3 o/ F9 K; i7 ~; d' l }2 l+ T; @7 R( e5 }
: h$ X* k3 q" q( |2 R6 ? return "200";
7 g( b* h5 p" r2 v4 ? }
1 l5 j* r' b2 A6 ~3 l& ? }0 `6 S# W5 D$ Z% Q+ H2 Q7 S
' w6 E6 X* i) d* g9 c, t, T$ Q) Z9 u" t this.RemoveHide=function(page,objname), e# s7 @( c% T* g1 `0 s& a2 ]
{. C4 v1 }) O% i% M5 T8 {1 A2 S8 \
try
6 f1 j4 l: i ? {
/ T- s2 E" c; L6 X/ w# L var minValue=15;
% h1 }' t# W- @9 b( X var objs=page.getElementsByTagName(objname);
1 c; i! _- O9 @" |" Z
5 i U' x& l3 C3 ?, i if(objs.length == 0) 8 N- i: y4 D8 N3 G7 D- `- ^
{; f( w* i9 Y( F( l: }" r
if(debug)
" _7 c* q; G& M5 O2 \ {& ^: y( [( n' v0 m; _
alert("no object found!:"+objname);- U4 Q% n, O t. b; g
}
) g, R: W9 i& k }
. z+ n2 H X0 N' C# } else# n+ X- `! D2 g! `- u r2 L0 o
{
, I: C' r% L+ q! C2 g7 [7 ? ^- F% |% |
6 ^, x7 d7 s' u7 w# j. C* N for(var i=objs.length-1;i>=0;i--) / c4 V9 x5 f9 \
{/ u- [/ A8 J- z7 h( d: s+ v
var node=objs.item(i); 7 b# Q1 `* v3 Q
, K; w( \! N1 W7 d. D, R7 A K& R' {$ C0 K" a
if(this.getobjstyle(node,"display") == "none" ||
9 a% l. i7 U. p) e& h this.getobjstyle(node,"visibility") =="hidden" || o7 G E$ A) ]0 Y1 v' {- W
parseInt(this.getobjstyle(node,"font-size")) == 0)
2 S8 W$ {/ r1 P I8 X {: o9 f0 o; \# P. d" W$ {$ t q0 T
if(debug)" J' m- B) P8 m' m$ Z8 J/ |+ I2 e
{; X @, f$ n9 k
alert("remove invisiable!");
0 g# F" O* ~1 X" T }$ S4 h/ O6 [0 J5 B
node.parentNode.removeChild(node);
$ B& a6 G J& w D
& L$ j5 w, D7 Z& e5 f }9 c" a5 X# r1 z. Q y
else
9 h! w6 [) V- Y4 c3 F' m4 a {
0 _3 z) J9 r# ^ if(node.parentNode) 4 L6 K) o8 g2 L7 p$ ^, h' Q) G
{
9 i7 m5 v* n1 D- x( g3 u: f. D var orgNode=node;
" X8 w; z1 |" u! c3 w$ R var orgColor=this.getobjstyle(orgNode,"color")
+ ?- A% n5 k( m8 W var orgRGB=getRGB(orgColor); - m/ P' I, H( [$ L5 t# i+ C
/ }( x. D$ y( y* _9 V+ j5 Z7 \* \ var parentNode=node.parentNode
) C: J0 S* b% U# ~ var parentBgColor=this.getobjstyle(parentNode,"background-color");/ J+ T+ w7 n, R; r* \: V
J5 U* K% x$ H; l+ \: J) i var isLast=false;
0 v1 [( S" P# K2 l3 L8 T ( g% b ]5 u \/ T3 ?1 G
while(parentBgColor == "transparent")
# W f2 d9 r; S0 {3 Q {
7 p6 p0 P5 _2 B4 I- o
5 Y1 {3 N6 U6 r" ?2 m " h; G& j9 w2 X) t
if(parentNode.parentNode == null)6 z9 z8 X; |: n7 B" ?
{2 j2 D) r( k5 T( Q0 g; J( J' g
isLast=true;8 _4 X: g# h' ^* X( |$ y) a, Q2 [( {; y
break;, }# h9 d) [/ g. {" r7 p
}% f) W4 i. o& P5 @9 {
parentNode=parentNode.parentNode;
, Q- \8 D3 h- }. r" a parentBgColor=this.getobjstyle(parentNode,"background-color");' M1 m7 g& V \' R2 L7 V
6 p" Z: }" e2 M2 J* A) t
if(parentBgColor != "transparent")
: g* i& d0 ?- `: D p& d {- M3 a8 l+ m; u2 t
break;
3 y& C; u# [4 M% A }
" y+ l/ }, L0 X* k& E }0 |' x2 \+ Z1 O
if(isLast) * F, `& S; {- p* ]) n
{
4 h5 _1 o F" l0 }7 L" D if(debug)0 t7 N9 ?8 m$ d
{
! q/ p* W3 ^- w+ k' N alert("last!!");' N2 W2 c+ z* k4 d
}# c3 J" L4 w" A; ?
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) P) R! X) K5 [" {+ U* u2 s
{
* Z( l0 \) |4 Z: c$ { orgNode.parentNode.removeChild(orgNode); ' u: l' C/ H- a! F) N! s8 K0 Q
}0 k8 g8 W" k; [! w2 E, ]
}% E) d" i, m% ~& U9 C/ s3 E' Q
else
9 y3 m2 O0 b k {3 |. t# L2 e1 G+ A- h2 O0 [
if(debug)
2 B9 ^* z' P6 b {$ G: ~5 G! N2 i" f% F
alert("compare color and parent bgcolor!");" R1 I3 W9 G: U2 H- F
}+ h) @1 D9 e1 p& g5 [ S {
parentBgRGB=getRGB(parentBgColor);
' B: P. e: ^8 A; G if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)) ^3 K: `9 I: K* N
{; _- W. o* }% a& y
orgNode.parentNode.removeChild(orgNode); 7 \4 R; d9 r% X! i+ u8 E$ k6 ?/ y
}# {9 H5 f) j0 p- V, q7 n
}* @2 [0 k* _0 Z8 \$ Y
}
9 c! X6 e/ @' l }
6 b( f# n# t/ u1 E6 o }3 O& z' ^. |) Q5 Z
}
( q/ H) b Y6 |# B) U/ K # X2 R/ L m7 _
. @. t, i) v/ {1 l6 c
var itemFrames = page.getElementsByTagName("frame");
' C0 m) y; ~6 r0 c4 I! T1 f! Q var itemiFrames = page.getElementsByTagName("iframe");
* Q6 `! v/ [3 p' P; t& } + f' E- t4 R* _
var frame, iframe;
# n* c* o: M8 u if (itemFrames.length > 0)
; M- ^: @' |6 r+ w {
8 Q/ a' b8 \, Z0 |8 \ for (var i = 0 ; i< itemFrames.length ; i++)
2 k3 Y( f6 L. p a! h! c {
3 l" z* c1 J5 ?! B" W; i frame = itemFrames.contentDocument;! U# h2 @/ ]5 O8 E( Q0 X
this.RemoveHide(frame,objname); 8 i/ O$ o& \% \1 `1 e3 [
}1 M1 C+ R5 y C e: b9 |
}
6 G, i: x" H9 L+ W, _5 S if (itemiFrames.length > 0)
1 K4 V1 z4 c, q) l( i* b {/ w, K; \( A1 E5 ~2 W7 f
for (var i = 0 ; i < itemiFrames.length ; i++)
3 h* W. `& ?: m3 n2 F/ m {9 C8 F- Y& D& t. J: S
iframe = itemiFrames.contentDocument;
9 g( J" r0 e" b; o4 K- ` this.RemoveHide(iframe,objname);
9 B5 \4 u: `" }- B* t+ L2 ~ }# X4 @, J5 w0 [' K
}
c" w1 A2 o& A2 s8 T) U7 R6 R }% r! E2 f- u, h* V" Q) {
catch(e) g, w3 c) K" m1 I5 i4 P
{
! F4 k5 X; _4 v" v if(debug)
; i" D! m( C; B# D& \& g6 r1 t b @5 q {/ r& U0 O( ]9 j6 Z
alert(e.message);1 ~+ Z' B0 _; W& |/ Z8 [- q& A# n/ }9 t
}
& C3 H2 R+ `$ ]% t5 e" d: r }( N- W( n1 | E5 t4 v3 O* D
}4 L# V0 w% n3 d
8 y' c0 p; o% W+ U) R4 v}
5 m) ^9 e2 S+ C7 F# P
1 Y4 q- t2 g# l5 e- k& B9 l: V% x+ Ifunction getRGB(colorString)
- ?- L" H6 r* {{# |" b& U2 }' U! H. t' \
var RGB = new Array;5 ]: d9 Y9 q3 B9 s7 q, g
var tempSting=colorString.substring(4,colorString.length-1);
1 q5 ?' F+ ]. o& K; V var tempArray=tempSting.split(",");; w+ v, \8 h. a; X( s; z
1 C& q, q* h' T( e( L
RGB[0]=parseInt(tempArray[0]);5 v. w: G$ P0 W- ~& \
RGB[1]=parseInt(tempArray[1]);& B- F- T% m; ~5 p9 Z
RGB[2]=parseInt(tempArray[2]);
6 F! Z) q2 l2 c5 y! J' \3 c& \$ P) u 5 b0 X7 m1 I, i o
return RGB;
1 q( p4 F4 m/ K5 j}- V5 X5 W6 l2 R
function keys(evt)
* \6 B8 N: u) W( t8 h2 N* b {
2 {& V) [* D2 V- ? if(evt.ctrlKey && evt.keyCode=="81")
0 {4 ^1 [9 o' N( G3 d {
! q) s8 ^& M* \9 h/ F8 }) x CleanHideObj.on(0,1);
- T: r+ w8 ]" `+ I& |, n alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; w6 h3 d1 D8 B9 e" ]1 `
5 `, F0 N5 H( `- g4 l# r
} ( S7 Q; c( p2 Z' ?- q; b
} 6 \0 |4 z4 a" n& [5 h: e# X) B
document.addEventListener('keydown', keys, false); + e( c1 F5 O9 f4 l
GM_registerMenuCommand ('Clean Hide',
, _9 j# [% Y0 Y! Dfunction(e){
2 ~, {/ ]2 n% x9 }& O" PCleanHideObj.on(0,1), a7 H8 Y5 ^" s7 t& k. f
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' I+ a3 i ?. f2 [7 ?2 P! h, ^" o$ d});, T1 C4 Y3 g! v1 x
|
评分
-
查看全部评分
|