|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 F6 S' j3 ?6 U# V
, y+ i5 b5 N7 L
火狐插件,用猴子
" V! ? t3 h6 a; b8 Z6 j6 {! b! {# u$ Y) V
var debug=false; ( `9 M( w5 `, |
var CleanHideObj=new CleanHideClass();
% {& ^' ^8 N, {; i- X0 @( A8 \: R8 I& r6 d* b. q- O+ n
function CleanHideClass()
2 G& p! [' n v; x{
8 ]7 z% g/ C( L7 ~ . I3 ~) n4 s7 H4 @$ ]0 X
this.on=function(id,bMZ)3 c7 i f, v6 g6 A
{
7 T4 S. F( E: ` # z* Z( Z4 a/ q# {9 t9 p
if(id == 0)
% Y$ T! s, z5 U {0 q. P& t% L6 K. {+ h
var page=/* document.getElementById("content").contentDocument */document; / Z- N9 Z+ V3 Y5 i; v5 y$ }
this.RemoveHide(page,"span");
- B4 c8 D/ ?( |# w( _1 N this.RemoveHide(page,"font");/ e/ ~! w8 t* V+ Z. U3 m; W
this.RemoveHide(page,"div");
G) u) e- a& P# K- Z8 w4 h$ y this.RemoveHide(page,"p");6 v. `, U6 A: z( F$ B R+ C
) W& E5 I7 `% @- U
}1 r" o+ y( U1 M% w' H4 ?
7 @6 M4 t* s" u( V0 |
}
# {7 U- N" ~7 R5 N2 W3 c this.getobjstyle=function(node,prop)
% y a; I. ~6 A! s {# X' D& Y$ ], y
try
7 m( s0 ?" G i, m- C! Q { G" h* P" d1 Z! ?1 f) Z% g! R0 H3 p
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
8 Z n$ ~; N$ @: U }" w# c. M* {: ~) N) q6 W
catch(e)
% z( f9 N4 {/ X" m4 A8 Q/ d: B {
! Q3 `5 r: h P if(debug)
2 B2 L6 W0 `! H {- B4 L4 {# C# n- [' _, b, `, M5 Y' n
alert(e.message);
! L5 E5 k: s0 G# O- c5 f* f% V# N }
( \( r& U M# T+ B1 v2 E; M
# z. J6 v. u+ R return "200";$ T0 _5 K; r( j3 e$ S
}# ^. a: Z' z- F; p# X* Y8 ?
}
* {, R% d7 `1 z/ u* X 6 {4 e N: [1 q& b) R
this.RemoveHide=function(page,objname)
# b5 B' D S: ?- W; x2 ] {
' j5 S7 l" A; r- X. U try- s% F& U, ?/ L7 m% B7 v
{
9 D( r) w( J! T& Y" k var minValue=15;. B0 X. E- Z' F. g0 J) s
var objs=page.getElementsByTagName(objname); ; h" g8 C. f5 Z1 z" y: P4 S
0 i2 Y- B' T3 y9 X0 {& R; B
if(objs.length == 0)
" G( {! Q# v( b y; z( _) I {
( P* ?. N, H# O" K2 c( c if(debug)/ t# d* [" ^' V; s0 U& f, v
{; O- R% f1 q0 D
alert("no object found!:"+objname);- t3 l8 n6 D8 ^# I1 m s# Y# r1 k
}* }& W# P! x: S
} z7 L: X5 ~* h% ]1 ~ V
else
1 K' T7 r5 v1 d8 w6 O1 V! P9 O; f {0 s/ T% [* A: l: d( h4 m8 m- T1 w
1 N# [4 w* {' i
for(var i=objs.length-1;i>=0;i--)
& r1 s) U+ [) @ {: e- d* B5 E0 W1 d3 o3 a/ M
var node=objs.item(i); " d/ M2 s4 g+ v0 ?3 `
' O2 @" ~: C+ t9 K; B/ q3 B$ d
6 E! ^5 ?" q8 f" }. _8 c& D+ w" }3 |! l if(this.getobjstyle(node,"display") == "none" ||
: e) ~# p9 D; q this.getobjstyle(node,"visibility") =="hidden" ||$ z5 ^ R$ b/ J
parseInt(this.getobjstyle(node,"font-size")) == 0)
& Q9 \# c) d4 k# k% m' D {. ^ S3 h1 `" \9 D% f/ K) x& q0 [
if(debug)
1 D% W' }6 |" z {
' t# i4 ~3 X( A) b6 B alert("remove invisiable!");: J9 H) _0 F% _" B, J" z
}
2 m1 ^, J' Z) X2 O2 v! f$ e6 v$ w node.parentNode.removeChild(node);
7 a, o) X/ Z3 l+ X6 Q1 S% A
! @3 P6 y, f! V" C$ y1 t }
( F$ w1 S4 Z' W- S/ i' V8 \ else % c! _0 b" a0 o5 k1 A, I
{8 }! P& }1 t7 z* z
if(node.parentNode) 7 \6 C0 J; |8 f9 c! |$ v* Q
{- v# K5 D* s }, t
var orgNode=node;
3 }; A' q3 j2 W var orgColor=this.getobjstyle(orgNode,"color")7 X- q, U# a o1 B. h6 Z- W3 g
var orgRGB=getRGB(orgColor); 6 r0 T6 G- D2 X9 W8 r
) h8 \) Q9 K8 |
var parentNode=node.parentNode
7 E# K+ Q6 C. m G var parentBgColor=this.getobjstyle(parentNode,"background-color");( d% P& I- U$ B2 b
) m7 s4 Q4 c N6 F var isLast=false;( M; g- V4 m: d4 k& r6 ]
+ {& a" G6 v( U( B; C% I* L while(parentBgColor == "transparent")
' N7 M6 Y# i: f* k0 F3 }6 G {
; V" h: y1 z! [: f( j 9 F) V2 z$ N6 i( w5 @7 u
4 M* e/ A# M, d# a2 s/ } f/ M. g+ s if(parentNode.parentNode == null)
9 ^4 {% e: i& F$ ? ^6 E {
: B2 L: B; [ s) f3 I! A/ t2 T% H isLast=true;
. D/ i2 M; u! a& j4 u } break;% g6 d3 W3 U! P$ h4 Y; h' c% n4 p
}; f# e/ |. j) O) q" m3 R
parentNode=parentNode.parentNode;8 Q! t3 {. S. h1 z. m
parentBgColor=this.getobjstyle(parentNode,"background-color");
# c2 O+ b# W% S6 l9 _' o
2 ^* \* F4 y$ N1 ~ if(parentBgColor != "transparent") 1 I9 k) r$ F6 W6 o
{
, O `. r9 S% o S' v7 d$ X break;' ^; E9 z6 Q7 t9 ^8 O3 s/ H1 N
}, M" I8 B0 \, x+ o- I
}
0 M% o9 o. c2 e/ p8 G if(isLast) + e! Y# Q p9 M/ P q. z! y6 K
{, L. U" @) u6 H) A
if(debug)
# t$ I6 `& r+ h2 J6 i* a% F {
2 f! |* V! r# \4 S7 B& F9 h, w _ alert("last!!");
0 w% q' h1 S1 _' l }
`: z% r! S6 F1 B! l! X if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& ~) }* o+ X: h9 `5 O8 x7 _" W {
: \3 _+ `5 M/ }7 o" g orgNode.parentNode.removeChild(orgNode); ( P) G; O% _* K! t
}# `' X/ m! I4 q8 W3 e2 j- [6 F2 D
}
, W0 |5 t9 E. Z: x4 E4 V3 s else. Z; f0 [) @0 N" @% i- k
{
) L. n1 N- b; l if(debug)3 z' J: k4 Y/ G8 S
{; m- N8 F" x' r. H5 Z: z8 c3 L% Y
alert("compare color and parent bgcolor!");4 ?+ u* z( F7 R# h) O
}
7 K( d. N8 F" Q parentBgRGB=getRGB(parentBgColor);9 E9 l+ v4 b$ S, X+ [/ \
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)). x( P4 i0 O' v: r+ b
{1 L; J0 h- g6 \, a$ O
orgNode.parentNode.removeChild(orgNode); ' ? [" n% J& y1 y/ @- Q$ D7 P1 u% P
}
8 s$ e3 C( p0 e7 S3 M }* a' _' {1 r8 w' o
}
6 B! X& g) j7 q" V }# h! w( j' z8 b7 O0 e' y) B8 K
}2 w& }/ t3 [0 y, ~; |+ }7 G
}6 j# n7 e; l; y
( j, ?- W+ z8 h/ T) v4 w2 C
/ J: M) J! N: W, |8 w& ^# O
var itemFrames = page.getElementsByTagName("frame");
$ i5 R) }8 b0 a2 j2 o9 h+ X var itemiFrames = page.getElementsByTagName("iframe");
0 c% L' J0 Q9 p H
- ^! i$ Z: T+ K8 D var frame, iframe;6 a4 p$ p, y. Q, J
if (itemFrames.length > 0)
' d+ _* G- _- ~$ B4 P: v {/ I! s* C8 G0 O! p5 h
for (var i = 0 ; i< itemFrames.length ; i++) * ?( J) e' k* C2 O' P
{7 V/ l6 O5 ?$ c! Q( ?
frame = itemFrames.contentDocument;
6 J8 z1 C' ^. [3 }" ?) m/ o this.RemoveHide(frame,objname); 5 [* E0 v2 w- y' j5 A
}
0 }/ \& o+ _2 T }. W- @9 t: s' Z6 T- t
if (itemiFrames.length > 0)
7 ~: x, U* h* {& { { ~- t# k0 L' R1 ^$ T: n
for (var i = 0 ; i < itemiFrames.length ; i++)
- X. l9 u0 _! h' r! g {
4 s: q r. R. ` r iframe = itemiFrames.contentDocument;
* Z$ G9 d# L4 H! {3 L" ^8 c this.RemoveHide(iframe,objname); ( j+ e* ^; H( P/ a8 D6 v" E# `
}
3 j$ f; b1 W a" t }1 K' D( _$ u9 i5 c" a
}
, `- p* T" n0 \( i1 _+ ~ catch(e)5 @) f. N8 q! J8 c9 X# @
{3 Y% M8 j* S+ s1 A0 t- V
if(debug)
- R8 m7 V0 s; i O* L/ l) s O {
2 j+ u2 R1 Z/ M% \0 @ A alert(e.message);
* V6 b2 E) N; ]& l) G }
+ W& h8 D7 }/ L3 _ }
* Z, X( q! t* Z }# C8 ]( X% g$ j+ e) P
' D v' a- V) f3 r# H* v- l; ^
}! Y) ]2 q3 ], p% W
( i( c7 w# [* [, }7 z' U
function getRGB(colorString)9 G6 @2 U; A% @5 w# S! {
{
. C2 ~, [4 _) c4 h j( \ F T. S var RGB = new Array;4 p6 T# y- A+ C+ ~! l# F
var tempSting=colorString.substring(4,colorString.length-1);
7 |. @6 u/ {% j# H% @' N var tempArray=tempSting.split(",");
# s) s( G, k* j" C( ~+ K5 w, n' t1 y% T; ]' X) j) U$ r) f( L
RGB[0]=parseInt(tempArray[0]);/ a9 X1 B; {/ ?+ F2 k$ C0 l
RGB[1]=parseInt(tempArray[1]);+ k8 @0 X( v* U9 G& O& e0 X
RGB[2]=parseInt(tempArray[2]);; T D( y" I9 N% E
; {: V+ Y0 \6 a! o2 E6 t
return RGB;
# m6 f1 }: ] b: o: ~}* p+ P$ [3 u8 @: K
function keys(evt) # W& x( v* O: A H! G4 D) D1 R
{ * ^. r$ V) Z5 |5 b+ k' d
if(evt.ctrlKey && evt.keyCode=="81") 2 S; z- _" Z; u) k+ ]
{ 5 G% d* ]0 B4 y
CleanHideObj.on(0,1);
' r# ~ k# H* T `2 ?: I8 Q* K alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ K: ~; L; P2 G! }. f% U " w* f7 W2 C8 N8 x4 C5 }* W/ W3 p
}
' ~; t- \: o+ x# Y } ; }, n# ]9 ?8 C9 M7 m, @
document.addEventListener('keydown', keys, false); * T+ Q' `5 s) N1 C' X. d: l# G
GM_registerMenuCommand ('Clean Hide',
5 `- l; D) f7 gfunction(e){
$ Q3 B/ A+ Y3 E- l( cCleanHideObj.on(0,1)8 w2 }4 |. ?6 }, @) b- z, }) i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");+ R2 J2 Z. ]. S( v8 c3 C
});3 R8 s) C! F5 Q: }, O
|
评分
-
查看全部评分
|