|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 m( t/ ]2 {! H2 S
9 B8 S) p% F" C' b火狐插件,用猴子
# O& X5 K) K% @( Z1 c5 f3 x0 k8 a- A/ z: g9 }8 X$ B
var debug=false;
. J+ G( w9 ^4 r7 qvar CleanHideObj=new CleanHideClass();5 y6 {: d8 l8 b M9 D
( X1 ]- I. H; U, X$ a5 x% G
function CleanHideClass() 1 p" \2 t3 v: v% L0 Q% Z
{
, F3 u. R9 z) _. _# f
; @1 H& [; n" }# D this.on=function(id,bMZ)4 W$ c. X7 M6 e K& N- K
{
, X8 V, C4 u; f1 L1 k" v
- c1 c1 Y$ I5 h: C if(id == 0)
* ?! z& K8 K6 O# Z( O2 g9 s( Q* { {
9 `2 }2 J( d- A8 o var page=/* document.getElementById("content").contentDocument */document; ! E8 T$ J9 x) a, I2 Z3 J" u
this.RemoveHide(page,"span");$ O$ X& _, W. ?" @% }
this.RemoveHide(page,"font");: O4 d$ S/ _# Q" | l9 K
this.RemoveHide(page,"div");" e4 d2 o/ O& \8 [' ~
this.RemoveHide(page,"p");( e9 k( v2 b% m1 w' r2 ]; x
: d& g: b( ]/ }) D/ J, k }$ Z H8 D+ N! n4 ]# P, f9 Z9 J
+ U2 t* q$ f) c# D' s' T) R `% p4 \' x
}
- a5 X; v. R6 N0 B this.getobjstyle=function(node,prop)
6 [/ z* ?- \! } {
0 a5 f. Z6 a' h try
) n6 X& s' d- ~ {3 [2 U$ \5 |& E+ M9 t" ]8 T! @
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# D" r% P B/ I8 X0 X
}
9 Q" v' ?8 g+ I% N; `, J0 V catch(e)& h3 ?7 G/ U& s: h& o2 J1 x
{
4 {8 H0 l- R1 i3 K1 X if(debug)
5 l5 n U* S6 r' q% t8 z {
+ Q {. \3 H3 t9 K7 [. f) U alert(e.message);0 d5 H, ^9 L1 H: d1 v+ a
}4 X: @% D; ?" j" O
8 w5 R; j. X) z, X: Y) r return "200";
4 F( o/ ~9 I* q# d) L* k+ q }
/ W O" b1 h$ P }
2 z* O- s' \ K( t# b ! O" O. ]5 C" N# o* d U$ r
this.RemoveHide=function(page,objname)& s! `. q" S2 z6 C1 I! Y
{
$ P- V0 v1 S% I* L try3 h' d1 O! x) u* R$ T
{/ `, u) j# l6 i `9 }6 }1 `& v
var minValue=15;
2 ]5 I G% T9 x; l" L3 [; y var objs=page.getElementsByTagName(objname); # p( u, |3 R. @ D) P
6 r4 ?3 I+ h$ X* J$ o m
if(objs.length == 0) 4 j( D) _2 `$ m0 U! `1 Y
{/ ]. K. |2 ]6 n$ q9 e3 p
if(debug)+ e" V8 A/ }/ H2 `4 ~/ ^2 V# j
{
f3 Z0 K8 z% _! ^9 o+ g alert("no object found!:"+objname);
" N8 P$ L5 q# W% V5 _! V. E2 h }
( ?. J# w, Z1 Y) [ }
" t) f/ ?) [7 A# N; d L& l else
6 c- {7 i# I5 W( {' Y# y {
% j" d' j; t7 n7 g
7 j) q4 z7 `1 {/ D) p! f for(var i=objs.length-1;i>=0;i--) 0 L/ p; g" n4 W8 Y
{4 w4 d. i- @. `9 I% Q- I- G
var node=objs.item(i); 6 `9 y+ _( k- o, ?; t
, ?: V( G D8 ~1 S8 [
: I( y) q0 n$ l% N+ Y8 [9 M if(this.getobjstyle(node,"display") == "none" ||" M- w, q& b7 R8 G: \7 A
this.getobjstyle(node,"visibility") =="hidden" ||+ Y3 J4 T8 l) P/ N7 q
parseInt(this.getobjstyle(node,"font-size")) == 0) % i! A; d3 k8 G% C$ l4 o, o
{. R0 v" v9 P: Y# ^1 T
if(debug)
" v' {8 i1 ~3 ^/ Y) a& B4 i3 B ]) i {8 p4 f4 b3 `0 V+ ?( [
alert("remove invisiable!");: a" o8 P' S6 E2 Z
}
) h) y( `7 Z5 i# E node.parentNode.removeChild(node);
. z2 W+ Y) H, C* Q. u ' |( p0 K! E7 `2 o2 y* \* S) w5 q
}8 b1 \, ^5 A0 ~: T! s7 M. n
else - `% e+ _- T6 i# ~3 t
{
% P# }/ B1 N: O Q if(node.parentNode)
. A5 O5 S0 Y) y/ h6 ^( h A A. c {- x5 O# Z" m, a. b9 Z$ b
var orgNode=node;
+ p$ _& S, N" }8 l8 ^. \7 \3 r. \ var orgColor=this.getobjstyle(orgNode,"color")/ U, o! D: s$ a. W$ o+ x8 o9 o- W
var orgRGB=getRGB(orgColor);
( I8 P; e. ]: `+ p: t3 \
2 l; }, \7 I7 [4 g8 p var parentNode=node.parentNode
* g# w% b( f( T1 ^ var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 ^. q3 H7 I) u/ p5 u
+ @! F( r8 v4 i' Q% i8 g0 y var isLast=false;
$ ]) B; m) s8 |9 K
% R, r3 \. e; J3 B6 z& L while(parentBgColor == "transparent")
2 o" i1 H5 T1 b0 Q- Y' A {
- L1 J9 b# m5 d7 Y& D( [
. k) ~) F9 {, A0 J) }8 x" b; i1 t 4 l% y" _& [- q2 r
if(parentNode.parentNode == null)( `; i. V( I1 O, V }% ~: Q3 H
{ D3 V2 `1 l: O0 H7 ^1 b
isLast=true;
2 _+ g# N6 H% \8 g* p break;8 q8 o5 X* L/ M" A9 p2 t
}% u, K6 Q0 w$ A1 g; f$ q
parentNode=parentNode.parentNode;& _4 b! o& ^% x( W0 X. C
parentBgColor=this.getobjstyle(parentNode,"background-color");! J( C* Q) D4 ?- D
" A. u0 K1 y5 g7 ?8 p
if(parentBgColor != "transparent") ' Y; Y6 O8 G( ^5 |7 C9 A9 C
{, t2 f: T+ S% U/ b
break; L+ Y+ \) M1 K' m, ~
}: _* u; `( X5 e) ?: v
}
$ H% S4 Q: n3 G0 X7 o* |$ l if(isLast)
$ f1 ]) T# r" d2 |8 y {
3 b }' o5 c6 X5 x3 ] if(debug)
2 b* z5 O% z" |4 ?9 h {+ Y. ]3 W+ o( q8 b, L4 Y
alert("last!!");3 u) m) V% T3 L4 ~; M W
}$ @# ^/ n" Q. q& B5 P
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 Y2 `/ E M6 t- U" W {
w m/ \- o& j( a orgNode.parentNode.removeChild(orgNode);
1 x8 }+ V1 A* ^% Q }5 }$ s+ }8 e; O) u6 B5 ^$ e/ T# W7 @
}- g- G: P# _& V+ [9 G# m
else6 F; r& K. Z6 a$ D7 O4 N
{
$ i9 j# ~' w) o" U if(debug)
( [$ }' p2 E: t4 `: f" O$ I% p {
: R% R- h. k2 H7 _% o$ H alert("compare color and parent bgcolor!");
/ \& @, r2 [1 ^8 ~% S3 o' r- k }* [. R; Z3 b) V# `- y2 C2 O
parentBgRGB=getRGB(parentBgColor);# ~7 T' b( _7 q0 @0 V
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; h; ~/ k$ F* y3 _/ c4 y g5 h {
2 W" q) [9 ~9 g orgNode.parentNode.removeChild(orgNode);
3 K8 l* j5 {; W P3 v# B+ i- Q }0 L3 C# I( \7 e2 W* `/ n$ g
}) x4 W" U% x( E4 J
}
* M# C0 z0 A! Y. L }
' R* X+ `3 Q0 D3 O7 A" P }, B/ U% l, \" l: ]9 ~5 `
}
" E! D3 ?& l) p9 v; c % T- E: S4 h; C* _7 C& c; s2 J) E
7 t4 K) F. d6 i9 u- f var itemFrames = page.getElementsByTagName("frame");/ w* _2 `* ?9 G6 h P: r
var itemiFrames = page.getElementsByTagName("iframe");. N3 v* a7 B" T" _+ p8 A
8 J8 |9 v7 F7 H6 s9 ]
var frame, iframe;/ l- {. d+ i; x0 n* n/ B+ P! c# x
if (itemFrames.length > 0)0 z% n0 \, X7 t( g3 k
{
2 y4 {: Q( N6 @ for (var i = 0 ; i< itemFrames.length ; i++) 2 B: D( |- s2 l4 k8 F3 m% [% e4 K
{
" z& j- [2 L( m" ~ frame = itemFrames.contentDocument;( ~1 F2 x& X* P( n5 V& i
this.RemoveHide(frame,objname); * @+ O+ L/ }7 F: Y6 s) Y& i
}- ?( v" c; i. P% T
}
* }* [+ S6 [+ z9 a. C7 L3 j if (itemiFrames.length > 0)
: \. D. S6 F& G0 S% Y) K- s4 a$ v {: V$ x0 I2 j; p% ]) p7 E
for (var i = 0 ; i < itemiFrames.length ; i++) 1 a+ ], z9 P5 N
{# R X5 C/ H( D% ~
iframe = itemiFrames.contentDocument;) D2 Q* Q$ K7 Z4 r
this.RemoveHide(iframe,objname); / t1 M8 i5 |+ c" g" F- {
}
, Q6 W b1 _/ m% I! S* c }
0 _0 j: H0 }4 p+ ^( R }
4 P% v7 l9 u+ P8 U* Y% d catch(e)5 [# i9 D" ?4 E j
{
; c$ P D8 B6 f& A if(debug); R' t0 r5 h$ n8 r! ~
{, O8 S4 M. B0 o# s
alert(e.message);
( q* x) v5 G4 C }
: ~% @8 v' \$ ], q& O. h }
3 A6 X6 _) z) m( W- I }
$ O$ [, x) Y( w, `7 [1 f6 R$ p 3 v' _3 a2 S+ \1 R/ f9 }$ q
}# ^( I* ?7 F4 O8 H1 z
/ G& @- a4 Y6 r9 bfunction getRGB(colorString)
" E5 \" A1 n5 @0 n5 E0 I6 p{7 L7 o* L* b% u5 ^; e. v- }8 M9 u
var RGB = new Array;
% {7 F' B$ Y' c8 h( l* l1 w var tempSting=colorString.substring(4,colorString.length-1);) G! B d0 V1 _/ |: }% O
var tempArray=tempSting.split(",");5 s1 Q2 A- I) F' A% n8 E
; R7 w2 y, a% {! R/ P2 ? RGB[0]=parseInt(tempArray[0]);# B) O. @$ F8 u$ l' p8 H6 I2 Y% b
RGB[1]=parseInt(tempArray[1]);% Q7 V8 D. \8 m W& x. N
RGB[2]=parseInt(tempArray[2]);
' }# ?/ d& H9 `& K # Q' C# o- `. R# d" B
return RGB;
, ~/ L8 a' S; h, L- D}% y* C% }! r$ k! R7 q6 C6 ?
function keys(evt)
2 V% E* O: N o0 P {
# @5 p, t9 ?; [! t* p if(evt.ctrlKey && evt.keyCode=="81") " l9 ~8 ]' L$ u1 l/ m6 e( L
{ ) R3 Z; T$ i5 H+ \
CleanHideObj.on(0,1);' Z, U" s/ M/ n/ r- c
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . I5 H3 {9 v6 Y7 _7 r) f" l
* r1 A! [9 X; y
} w# @9 D; ~ m% x( z7 z
}
: Q$ X- u) u8 t9 ?- s1 E- ?# ^# Bdocument.addEventListener('keydown', keys, false); 6 I) M: R! ~2 z
GM_registerMenuCommand ('Clean Hide',) W# o+ D, Y+ J4 h3 |+ q9 i. [% _
function(e){
% L1 s6 I7 l0 |& KCleanHideObj.on(0,1)4 W9 m5 R% ~" X; F& V- k) P% g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& U1 d' J9 h! f& M& @});
+ M" T/ R! E5 [ |
评分
-
查看全部评分
|