|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / \/ r" q2 H: n3 E& x3 d) a
o+ F3 p& q4 q+ g$ e
火狐插件,用猴子
& q( B) o& P) N4 W/ |% G0 v4 x$ X
var debug=false; 3 i& ^' B4 W9 @, Y" Z
var CleanHideObj=new CleanHideClass();
1 z, `. W' g4 H, w
* d& q2 G; k5 n) tfunction CleanHideClass()
# R o- q* k: D2 V! B{
/ p% r7 J% p5 s9 Y; q. ` - X: T# ]) x; B9 m
this.on=function(id,bMZ)
9 z. f( C0 w0 ~; c, K {# @( M N2 ^: s
6 b, z8 V4 X ~' J4 b1 W
if(id == 0)" G9 f: I! {2 O' T
{5 p; c6 K: P, Y; y& W5 d3 {, o
var page=/* document.getElementById("content").contentDocument */document;
' D8 X$ m( p1 ^8 q S3 j' J$ @ this.RemoveHide(page,"span");
1 w _0 ?5 L4 L& D) {2 S _- m E this.RemoveHide(page,"font");: j9 A, Q0 F( R
this.RemoveHide(page,"div");( k0 O' f% j5 h ?
this.RemoveHide(page,"p");9 l3 a, Q. Z6 \! i
3 D8 A+ N& o( M! {. i1 u: D
}
: B3 N4 e1 \4 \& r, ]& e/ [. m % D/ E0 ^8 Q7 a. X& J/ C
}
" \! y9 O) M- H% G) H this.getobjstyle=function(node,prop) d. q$ G7 j' w" x
{" a6 t, p0 F6 M" I; c& }) i
try1 }6 h: x5 N# J. W8 O3 h f
{
' T+ I$ M+ B" \8 ]( E return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
& o; J1 g5 T# ~3 z$ | }
& L @2 H b) V# y6 C. C3 T catch(e)
2 N( b; `6 [1 H8 @) L* N {; ~) Y. h3 l" r1 u- m% y8 Q6 n) H7 i+ g
if(debug)
$ r4 W' [0 [" h9 X h {& Y |- I" R; W. {/ L( [4 \; D
alert(e.message);& M2 Y* p, r+ G+ [
}
7 O; \7 m( X. B. v" Z$ K x: g8 G0 U$ ~0 O* d
return "200";% Q2 h3 j4 J& z0 I, p2 q* \0 f
}! F: h5 x7 N6 e( P9 T- h
}+ A1 A0 `$ W/ M2 Q" C4 v, {
7 B* A3 y2 I& b: F, \: Y; C
this.RemoveHide=function(page,objname)* z6 Y( I/ q7 D/ Y0 x: o
{
# N# D/ @9 p& _6 n+ p8 b! ~* N try0 F' D7 `9 Y5 F9 b8 M
{
6 I( q e, i% ]" @& A J9 { var minValue=15;7 {2 N& S+ t7 \/ M' K* ?( s3 B
var objs=page.getElementsByTagName(objname); ! K( u! r% N7 W; T# f( G" i2 D5 t
3 N. y8 c$ ]& X' y( e
if(objs.length == 0) & K w5 H! n$ }6 A) M' C- w0 P" L6 C# c
{ H; I- c, ~* c' R1 X! {
if(debug)/ u6 C, H4 _3 s8 _% F# `$ m9 g# ?( @
{' V3 f! W: ]# f4 s0 l1 R
alert("no object found!:"+objname);- d! J- Z/ o- B. n( L( M
}
) h7 y, Z% J( t$ ^1 ?, ` }
3 S1 C( u9 F7 Z; ] l0 o9 a2 n5 | else: K& V& a. ?8 G
{
' q {5 ]* H$ v* f& ? - `7 @2 p6 `4 |% Y* ]. V
for(var i=objs.length-1;i>=0;i--)
" U0 m' _ W Z S {3 Y; s/ o3 M& s
var node=objs.item(i);
1 m7 w0 G0 Q5 C1 S9 I5 Z+ M$ O - m- }4 Z0 S2 q7 `0 `
- A4 Y) j! Z1 @
if(this.getobjstyle(node,"display") == "none" ||: a7 B. v. q* G& ?9 s1 q9 V
this.getobjstyle(node,"visibility") =="hidden" ||! \1 e9 \8 G) A# l: I
parseInt(this.getobjstyle(node,"font-size")) == 0)
% T$ |& G. Z4 F4 d, G+ W {
; d$ H0 J9 ? c) _) `2 J if(debug), {5 M- n' N" {. b! {5 s
{+ o* Q/ E) u; a8 G* R
alert("remove invisiable!");
M. J' Q2 ^0 C }
2 B* e1 e6 E8 Q) }) G node.parentNode.removeChild(node);
* ~: U( m3 m( }) @
8 `4 g$ u- J2 Z" g8 X# B }( L' X$ k7 D0 q" J/ T' ?
else
* @, m) [, y! ~/ o1 X {9 N9 p& @1 J: U2 N
if(node.parentNode)
" ~' q# G4 c! s; U5 \ {( a! R; X5 D4 ~5 z+ v) F
var orgNode=node;
0 F4 G R! W( `/ s var orgColor=this.getobjstyle(orgNode,"color")
0 Y3 Q. _! f8 D+ Y5 t1 l var orgRGB=getRGB(orgColor); , @& Y5 l: S( _8 r" R
z! J7 e( T0 J1 q
var parentNode=node.parentNode8 }& b" q/ V- d! h6 F" g
var parentBgColor=this.getobjstyle(parentNode,"background-color"); C# ~ v$ S8 H- T4 b
, ^1 f/ @: P2 `* j
var isLast=false;
# Y' d0 X6 a4 E7 v; }. v, W
7 U3 u2 E5 s/ A1 j" e while(parentBgColor == "transparent")
; n# j. m, T. }) _ {/ K; q* {0 v' _! ?
4 b: ]2 q h* X! N. I 4 ]+ z& j: C9 Y2 f7 A+ J
if(parentNode.parentNode == null)
( H6 h! A2 D* F/ s3 {' K {
# f9 j0 v I9 O" j, \& O& B0 A6 ? isLast=true;' b. O' \7 k: h w1 i
break;0 [3 U0 x- t0 { e% d1 k
}3 O) m0 N/ N' G. ?7 r- {$ q1 n
parentNode=parentNode.parentNode;* i6 o' s/ [# F$ b5 `7 i# m8 F
parentBgColor=this.getobjstyle(parentNode,"background-color");( t3 x8 S7 k! T, k
' I' }# t3 E, V if(parentBgColor != "transparent") * U8 h6 E/ k( i# o* y) N7 q
{
r# [+ e4 w& K8 @! e( R8 Z break;0 D M+ T; K* J+ C
}
) C" Z( e- s5 q& y" {5 s8 ^9 z9 W# { }
3 l! ~/ L5 F4 R0 W if(isLast)
# D2 \8 Z9 p$ E5 o {$ N, u4 `* e$ v# N @0 ]% r5 [
if(debug)
& v! ^3 F7 y5 ]$ e {4 h+ {9 A! l8 X5 j1 {/ c
alert("last!!");
9 b. Y" s. L2 j% g }+ T6 H1 M" y( M. k/ \
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 K4 s% ?! |5 j: L# E, o6 ?$ S+ J- I
{8 O2 c9 M- r& ~1 Q# Q
orgNode.parentNode.removeChild(orgNode);
( ~# c. Q4 n. l6 C c }* }6 P2 [6 {, m. u* K0 `, G
}
: }; d M" [) m" y% N7 C- N9 \$ L else0 v! x7 }4 o' G5 l6 k/ ]
{4 L K6 Q- M4 e9 w2 V1 W) Z, T+ Q
if(debug)
' b8 C' d5 Q9 P# @; k u {
9 c( f5 N& ?8 a. j1 c1 b alert("compare color and parent bgcolor!");
* \. |( _# m8 T1 I' [' ] }
. e0 Z9 d$ x+ g' g parentBgRGB=getRGB(parentBgColor);) D6 r7 x) K ?! I: L
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))7 ]/ k1 J% j# y/ l' M- j7 [
{" l4 v. K$ i! @8 o. c
orgNode.parentNode.removeChild(orgNode);
$ O' m. z1 m ? }, z) p9 n, I9 X8 ~: `" k
}
+ P/ w: E. n3 {1 ?8 J }
2 g0 {% z+ j8 B3 Y }, W* v9 V% @5 u* M, }
}
# Z0 U0 ^5 @/ ]! h: [, t7 D }
0 T% ^ z4 x" h5 v* @
3 Z E( l; S0 W5 q$ L/ ]
0 y/ O9 c1 T! \- ~- N var itemFrames = page.getElementsByTagName("frame");8 R! p# s& N7 ?4 f. @7 n# T: T
var itemiFrames = page.getElementsByTagName("iframe");% G$ b7 w: X% f0 |9 _/ @ R+ z
& a+ T6 f; t; K/ D5 y var frame, iframe;- P2 s, B/ y8 i# x6 X
if (itemFrames.length > 0)7 z% D! J0 \( b
{
* U1 d s3 ?. g7 l& Z& u. y for (var i = 0 ; i< itemFrames.length ; i++) / A& |; M- ]& x6 @5 e5 @8 l% f4 z
{; G' I3 T4 z8 {
frame = itemFrames.contentDocument;$ [( L7 k# M# Y" g/ I' o
this.RemoveHide(frame,objname); - o- I9 E# ] [# x: p
}, }, W( y& e0 ?% U; y- S
}6 F7 L2 F+ ~$ a6 ]1 k; a- @- t
if (itemiFrames.length > 0)
+ D5 A& ]1 t$ S$ j7 \! q {
5 `8 q" M5 k' M* R' M for (var i = 0 ; i < itemiFrames.length ; i++) 7 X1 D- n' u W2 W$ j2 H
{. y% R/ T+ J2 K
iframe = itemiFrames.contentDocument;
' o' q T+ [+ g! \/ S) T this.RemoveHide(iframe,objname); & S( J/ M) J& i5 r0 O! v4 Q- C
}. m0 q# x. A, t* g& r' q8 G
}
- o G& L& K$ w* A' Q% x% [ }6 V/ x3 M4 d$ _" |5 e# T( q( ~
catch(e)+ |! Q( T- k6 ^" G1 h
{
4 n. h* e9 Y" I, j2 ^. Q& M: b if(debug)+ X7 _1 K) o7 }
{# h S; w& P2 N8 I; _: s
alert(e.message);( z' i. i; V4 I8 B
}
- n+ \! {* s0 \4 ~ }
' J* Q) v# j( }0 b }3 v+ ~- |( S7 B; G: h/ ?
( ]( `& L" x# K6 Z2 c}9 Z2 _- S$ N$ C! ]4 @8 ]+ ~0 V8 L
x! B" v; z( ~* A" {; n
function getRGB(colorString)
: {$ h6 ^+ E( i* D1 I{
0 F( q# W5 u7 j var RGB = new Array;/ E! T4 j4 j% Z m% s
var tempSting=colorString.substring(4,colorString.length-1);4 ^2 H$ }$ S" V4 W/ C F$ S1 A, |
var tempArray=tempSting.split(",");
5 l X Z% s- n! C% T. D8 `
2 i- |. T# _' P RGB[0]=parseInt(tempArray[0]);- x1 k( m; J) ^. f# {$ p
RGB[1]=parseInt(tempArray[1]);
. C( D. J( m# ]" f$ J: d @ RGB[2]=parseInt(tempArray[2]);; r6 Z6 x6 S0 }) _2 y
- }8 A3 D! D L- W. ` return RGB;: K, d0 I1 ]* r* Y5 k e
}
4 p9 V* D" S \ p6 N6 rfunction keys(evt) . U. [7 ~. g) Z) ~
{ # X$ X8 A( b8 P3 Z! M
if(evt.ctrlKey && evt.keyCode=="81")
) e. F/ H$ j6 h3 x% i7 `% U { ( a- h* A* Y' P& _5 L3 s
CleanHideObj.on(0,1);7 s7 o) K2 |7 q7 v+ d( R/ q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 e. K2 v/ d6 K3 S
7 ^, H# k; K5 o! G }
( G) z' U [6 X- S; a } # I% [* e3 H) d; O6 x; O
document.addEventListener('keydown', keys, false); 6 m8 f1 @" t- V' U$ }2 T
GM_registerMenuCommand ('Clean Hide',5 f+ k8 w9 B1 v) }0 |6 F6 |4 G
function(e){
" C L2 o6 b8 _, ZCleanHideObj.on(0,1)/ n# u& J" O6 \+ i" @. `9 F9 R
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");3 B) W% a+ W+ N! h
});1 k8 S/ C' S6 k4 b6 W
|
评分
-
查看全部评分
|