|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 E; ^7 o' s4 U! H3 V/ F) H' u7 X1 t: b$ Z1 A
火狐插件,用猴子
H1 R( z: S0 b/ O3 @0 U( H) X& F
, s; V0 u3 y5 |$ evar debug=false;
7 _; p; c' G6 z# M Zvar CleanHideObj=new CleanHideClass();
9 I( r# \2 d d4 G- L& E
% T4 |/ n% x* Kfunction CleanHideClass()
4 S3 w, w$ U' [0 d$ G5 L3 M{ * O; h1 i% Y3 P9 M
$ W: Q8 S: j7 x8 M# ?7 a5 |/ h this.on=function(id,bMZ)% C/ _/ M7 m1 [& u' K4 P
{8 u3 ]) h3 v1 W5 T3 Z$ o3 `
+ g, ~+ y9 K: m2 x& F+ w r if(id == 0)& a9 R/ |2 H% b2 Q& Q8 x8 E
{
3 W( r0 k* ?" J7 W6 n' s var page=/* document.getElementById("content").contentDocument */document;
# z; R* G# I& H. _/ Y: A% g this.RemoveHide(page,"span");
: K3 o- j' D' o+ p% m) ` this.RemoveHide(page,"font");
4 _: G* T7 \( [* Z- e! V this.RemoveHide(page,"div");
R& m: D1 o- p2 ? this.RemoveHide(page,"p");
! ^6 i5 n! a8 i
7 f. A; F5 |, }4 T" z' W' d }
, G% v% T( O6 S
$ n' t6 c6 f6 w+ }! A( M; V }
8 s# A [- l0 x! s8 D2 G$ ~ this.getobjstyle=function(node,prop)4 }9 o2 h: |9 I6 x0 A( A9 D
{" |; D% U6 h- K2 |. K
try
6 G8 c. b4 x: |) s+ W/ W {1 X# p- a$ |# r8 C
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. U/ d, e" N: m9 Y$ |/ p2 n }
^: k+ ~* @, \: v- N3 L* @% N8 c: L catch(e)
# M& q) g1 b* i, k. _1 O: r4 B {
- h7 _+ {/ F! ? s; l if(debug)8 O+ M9 g. b2 P- V
{0 K X0 K% d. w9 C7 j8 d
alert(e.message);/ P3 @* }& s: @. y% Q3 `+ H
}- n$ Q+ h) ~$ J: ~+ p2 w- u( T) @
' f# O" F/ c& R- B return "200";
# `6 r! E( K1 f+ D4 T } P7 X' b: J5 I; G! X) g& E, [. e
}
- e F6 g7 D( u g5 H8 ^' @
. T% }( t" R, v this.RemoveHide=function(page,objname): s2 q `0 m! J- w* M3 v
{9 C5 P! r. c0 r* {9 G- y- N' n
try! N6 J$ o7 |7 @6 v: n8 n/ x# d
{2 u2 B2 | C' J2 D: K7 b
var minValue=15;
. ^& _- `4 V; {! t) J8 Q$ n var objs=page.getElementsByTagName(objname);
" V; F$ V- ~& {# H! T5 y: @, }4 p+ _) I2 A2 Z
if(objs.length == 0) $ B. Q0 }3 u- r# x/ V; R; D. k
{
" O8 ]; K! p3 h4 H! X: c" V if(debug)
) B) ~1 k* u/ ?6 {* l {
& J( S. W/ I) q7 A6 P& m) ] alert("no object found!:"+objname);
3 C t' Z3 n/ U9 B1 { }
5 N$ K( @" h* |3 x }
; m3 ] y, d1 T0 L: D* Q else
- b1 U* R% ~; K% c& Q3 d7 { {
/ @* P' A- A4 W0 N" [
* g. o5 K; I" q for(var i=objs.length-1;i>=0;i--) % j: i# L F, O
{( e( n! E8 ?- M$ m! o: \+ g
var node=objs.item(i);
7 @/ f% r6 D8 E! f( p; @
$ I* d* [# I- J0 q$ I
4 K/ C9 W; L: F3 V/ E; x3 K if(this.getobjstyle(node,"display") == "none" ||
1 h, R; b# c w$ z( n/ M* r this.getobjstyle(node,"visibility") =="hidden" ||+ K j' U" @5 a4 Z$ s5 F: v+ Q
parseInt(this.getobjstyle(node,"font-size")) == 0) 8 W$ _5 f5 T/ @7 _ |
{
9 g! U/ C4 Z1 p% q if(debug)* S0 Z. x# v# K7 U0 E# R- x
{
) A* N! `' s) M$ `! u& l% w alert("remove invisiable!"); u( H5 s0 k8 K x2 I5 Q9 n
}4 ^ n% ~ O/ S& N% Q
node.parentNode.removeChild(node);
' z# N$ \% \( _& c# F # w, G1 Q4 B7 x0 h6 D2 t+ x
}
5 f% z; u) z8 D( b/ @ else ; y4 B6 V' j; p+ v; r
{
- D! ?; v, ]2 E% A/ c3 u if(node.parentNode)
1 t6 I: j# u' u6 ~( V {
( ?) [9 M9 Q! o4 S. p1 ?6 E var orgNode=node;
; k' L$ y/ W( c var orgColor=this.getobjstyle(orgNode,"color")5 ]9 ?0 ^9 n, D' e$ J5 a& p4 O/ x
var orgRGB=getRGB(orgColor);
6 f, D; t: r* Z; r 2 b7 F& l1 |- S, |# V+ ^' E$ p
var parentNode=node.parentNode
6 ?3 M" f: M1 b- A var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 U* ~( y ?2 L& r % o; j, ~+ i) ^2 l' v5 D: _
var isLast=false;
5 {- D- V1 S) Q+ |. u" p ! ^" M; V f) r: |
while(parentBgColor == "transparent")
4 |" O' L$ l; [4 w3 G( t {
# E" x6 x8 d! P3 D- C' w9 E3 N 7 L, f3 g% G+ y# t
' t) q! c, x* ?: d) x' F6 } if(parentNode.parentNode == null)
: o8 n- h9 ^ n/ y {
- y% o$ a0 V! {0 L0 M" t isLast=true;
5 v* b* H: ~, r6 \5 @ break; y; [; C4 f' o
}
2 E0 X" n) R+ E/ I2 R D/ W parentNode=parentNode.parentNode;2 P: w* c0 @9 Z8 M: S0 {
parentBgColor=this.getobjstyle(parentNode,"background-color");
8 L+ m* K \5 E1 Y( j, c% [
. O7 e+ L1 G; G& z if(parentBgColor != "transparent") ; w. @' ?; z V5 T$ d' I) b D* N; j
{" N* p }; d* }1 t
break;! f, }1 e; Y2 ]( H2 l
}' \3 @# X4 N8 k+ T
}* g1 Z+ |' O; y7 ~0 O3 a3 q
if(isLast) 2 [) E, @! z: E6 X# A8 C
{1 Z. p: d F& W. K' X8 I
if(debug)
9 d! z" o0 x6 G4 Q% n9 ]$ ] {
! ~+ Y9 o0 k. g6 ]7 x8 ]( H" G alert("last!!");0 ^! l0 y6 z& ^9 p
}
: i7 m3 s% X5 P( ?6 @9 N" M6 ?% Q) N2 b if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" Z! n* ~; L. q+ X6 K
{
& r5 H8 O: g6 f orgNode.parentNode.removeChild(orgNode); " u( \! w8 m1 J2 _
}
, T; I6 h5 a) _- d7 p; j }
; F. d( ^, W9 t else
# |( \3 N* O* q: o+ A; K {
" w2 k; `# N4 I if(debug)
7 t1 s& v. |4 J9 E1 t" t {
0 Y) A, [/ ?3 G( A alert("compare color and parent bgcolor!");! c2 k1 b/ w4 d
}
: l: L/ P) e% j- y parentBgRGB=getRGB(parentBgColor);+ S! x* e& o. Y5 J+ V
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* M# a- D9 C; k; G, k
{% i7 b d8 {% X9 v
orgNode.parentNode.removeChild(orgNode); 5 t) N& c8 X& w: t
}; `% h0 b8 S& r; j$ R
}
# Z1 L0 x# B" [3 i: w }
- s( g# s0 v# Q& G, T% M! z. I }
$ _" B% ^+ u5 O' _ }, v. c7 _5 A& ~# y
}6 I, j- O. W k" a: E% l
3 U! C- G, L) L8 H+ S + ?- M0 X E+ ^+ v+ `# A/ p8 s
var itemFrames = page.getElementsByTagName("frame");: f( u# ~2 F: @8 Q. k2 ]
var itemiFrames = page.getElementsByTagName("iframe");$ y3 Y( F" o. G8 s
1 T4 l4 e7 |( H' |( f9 N6 X var frame, iframe;
4 e; u0 x! n+ a# P$ P if (itemFrames.length > 0)# L. ~# {+ q2 v& B, u
{
0 j T& F% _/ n5 n7 } y5 L9 ? for (var i = 0 ; i< itemFrames.length ; i++)
9 G1 `- J- K5 t0 A- U, | {
4 Y6 l9 Z+ m3 @% ?1 c7 t4 @7 c frame = itemFrames.contentDocument;
% X7 q5 u6 ]! i! R3 N5 K this.RemoveHide(frame,objname);
/ n6 N3 t, K L q5 ` }
/ e1 m! Z5 f+ O. h }
% X& z2 M3 v7 k. a5 h0 N! S if (itemiFrames.length > 0)& |9 ~4 G, h* d1 v ^3 S
{
# d- m# b/ ?; ?! N K for (var i = 0 ; i < itemiFrames.length ; i++) ! g- B% k7 ?; _, B' m/ i
{
' n3 }) e% }' \1 K; d& e6 e, J iframe = itemiFrames.contentDocument;( I: V" N' W7 n
this.RemoveHide(iframe,objname); 8 A2 N6 m+ H7 f
}$ |# H2 \* F2 q z9 e/ ~ S
}- g* @6 g9 k( M
}, i& r+ Q& z; m) \, a9 I$ Z
catch(e)
# ], v( V+ n: h) I: g { `3 D+ @ N: K: Y
if(debug)
5 ^" K R: W/ @1 Y5 G, `0 j' e {
' ]3 e, k, H/ U3 I% N. x! c alert(e.message);
, C: w( w. K; E2 Z }
$ _( P% w3 D4 U, X* L" H }
0 g' M( S+ \' j8 U$ u5 B }
/ P* e/ M/ e) f8 ^6 x5 D9 L0 L
( M* g. I: Y/ ]9 G0 P}7 z4 U$ B! {4 D' N
4 x* a9 \+ R F# v) q! pfunction getRGB(colorString)7 _% L" W3 w% d1 P1 K$ @4 e: O
{
7 z$ @7 \$ R" K0 D var RGB = new Array;
' i _, Q; h$ M) c! J- n; K var tempSting=colorString.substring(4,colorString.length-1);
T% W8 _) q: k: a var tempArray=tempSting.split(",");3 L, ?1 L4 p* p" [' P) n
0 t% s! E0 d+ x
RGB[0]=parseInt(tempArray[0]);" ^6 Z. J; A( W- O# x
RGB[1]=parseInt(tempArray[1]);
. s- r& z @' [% a- r1 n) X; i RGB[2]=parseInt(tempArray[2]);7 H3 }; x1 V# ~9 ~7 y0 _. A
. F/ n6 S4 L& s/ N return RGB;3 G: t; V1 p$ \7 X" K L7 ?
}
8 E5 \ _& ^% [; q! efunction keys(evt) ! V6 C2 `; _( E' U- R. M# |
{ ; w2 n1 x# F3 c0 f; m4 x
if(evt.ctrlKey && evt.keyCode=="81")
* Q4 f; K' p n {
$ {' Y8 ]2 A+ {) I CleanHideObj.on(0,1);4 G. D4 t, O& D& h/ Q+ v# O% I A) Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 3 R+ P$ U: F: F9 D1 c- U7 c
6 W$ m% r& Y% K% q2 A
}
- }6 H9 {% J& \" z& `. t } 6 ^2 U7 M3 J" h; q
document.addEventListener('keydown', keys, false); 3 }- W. { R# J% g
GM_registerMenuCommand ('Clean Hide',4 T/ r" \9 t G/ p5 q
function(e){0 V/ x4 @4 l* O& [! M& n
CleanHideObj.on(0,1)
) B, I; a( r$ b. r T, ?$ `0 @alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 \( u* d/ A' a7 y; r( r' d
});) }3 m4 u- k! Z h! Q2 x6 K9 u
|
评分
-
查看全部评分
|