|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + ^' { R4 m# o2 X k% O" F
1 b% g+ c M. O, K* `0 b- o4 x. _6 A火狐插件,用猴子
4 l$ z, B3 w3 }9 f$ U$ B$ h- c1 z8 C) r1 q) {
var debug=false; 7 I: X1 |( @( B% p( d' q
var CleanHideObj=new CleanHideClass();
5 x0 `) E3 G% N, X
9 W2 P9 i: X5 Ffunction CleanHideClass() 8 z- [4 ^- f# G6 ?0 F
{ / o3 [5 V1 X' g) d0 T
9 G8 [$ c$ i4 Y- n. ]: n
this.on=function(id,bMZ)
( N; Q( G! i' Q( g8 q! P+ v& q {2 b" R. c$ b! H7 z) C
# j- @! t& Y+ R. ~ if(id == 0)8 U- O% y1 F9 W, s- u
{
' k/ Y! I1 ]5 h- ^5 f/ } var page=/* document.getElementById("content").contentDocument */document; " w- \3 X, A3 a/ s& C9 N
this.RemoveHide(page,"span");$ a( L1 i$ p, E5 c# Q+ E- x q
this.RemoveHide(page,"font");
/ O9 P; N& p: x/ L g- [8 m. q this.RemoveHide(page,"div");6 r- s' l% @) d% c$ U# p
this.RemoveHide(page,"p");, H: O& K0 x- A1 G- g+ O% t# t) R
1 q: K* p+ d0 _2 {) ]) _ }
; t, U. W& X( v% V0 {: J8 q1 V" T ) L$ P N; u" Y" C
}/ B; v z; I4 ^) p4 R
this.getobjstyle=function(node,prop)
/ w7 [" _& `1 [; m$ _3 y; s' B2 d {
, Q* M; x9 Z8 m2 U$ i try. F: |3 @7 w0 P
{- m: h' |$ V# I! u0 w
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. [& q2 n, Q) [7 b/ i* y/ @ }4 j7 u0 k; t4 u: L/ \& T* S% r9 I
catch(e)
3 g2 Z- T0 h/ E! ]. K {# c9 f4 Y+ H& I$ C2 q
if(debug)
8 U! N. Y* ~7 f1 g7 F9 v( @ {5 ?; l. {# x' ]/ T, z: E- R5 H
alert(e.message);
1 G# k. E# Q4 C: P( w& t }) q. z$ y( a* O( r5 u E
* u. z# O0 g) A$ L+ }
return "200";0 d, J( q. |8 b0 |
}
% D s/ X! ~# K3 |0 T }& [* s$ j/ A3 ]& [/ h- O& u5 {
" G. r; H& {/ {3 J' ~# O this.RemoveHide=function(page,objname)' v { i& i. P/ n- y% H
{
- l; z$ [' x' A7 t! _$ s- ~ try q7 H) s, r* k% g0 @" \6 Z
{
6 |' n, t" D2 q& Y* }9 e/ {2 k var minValue=15;
$ C+ z; W1 e9 V% E8 g1 A var objs=page.getElementsByTagName(objname);
5 K( K7 j& _1 y$ f" X5 q7 q# ]- |0 N
" w+ a: t1 F2 L& _ if(objs.length == 0) 9 _ ]/ n6 J+ L ]1 }0 B
{" t, O* a1 R, N! y/ L
if(debug)
" K9 e* P! a8 F% R+ b# w8 F {
& | z. j! ~' F, l" h% s alert("no object found!:"+objname);
; Q" z/ I* J1 S# T2 x% s }5 s8 j: P% h1 E" M4 `
}
- m# _, _; E2 `+ ? else
" w/ }1 [0 I. I, C1 F; z9 n/ m7 l {* ^/ N: Q) v- r, ~7 p" L
( |4 _1 M! H! L: T for(var i=objs.length-1;i>=0;i--)
6 w& `' B2 f7 O7 `4 D$ i {! g: e2 H) e6 \% |4 F
var node=objs.item(i); , @0 }1 `7 ]# @( J3 w- C! z5 I
( z- {& p; b7 w- @7 x4 I . R; o+ [6 w0 v [5 x- Y$ F$ V T) n+ @
if(this.getobjstyle(node,"display") == "none" ||
. k( s1 K5 ^( c1 G, s this.getobjstyle(node,"visibility") =="hidden" || Z/ Z0 {; B2 E0 e: _3 a
parseInt(this.getobjstyle(node,"font-size")) == 0) ' ]! S: X: t& f }, Q
{
0 o9 k3 n. q5 \2 ?% p if(debug)
5 c1 z$ Y4 ^) U7 w6 [5 \4 h {
. V1 Y6 B+ z0 w: i alert("remove invisiable!");
! i+ z7 q; G% x0 r O$ g8 y }' Y6 I' C- h( T u# L$ p7 k- ^
node.parentNode.removeChild(node);
: c$ L( G n7 u# e
: g8 t9 J4 `; X/ u- I! D+ C }/ M/ x: d# c5 Z4 K3 @
else & g+ Q4 p! e& G ~; z
{
0 W: Z" J1 [+ S+ s0 L* m& d% ` if(node.parentNode)
& r+ X1 k* S! l/ R( E" P2 n! E {3 I/ l5 X5 ^2 H" M& w1 C
var orgNode=node;: k6 S$ g, ?3 Z. X0 c
var orgColor=this.getobjstyle(orgNode,"color")/ Q" |* k* n& L& M
var orgRGB=getRGB(orgColor); . p5 ?5 Z5 {9 y N. W) g- s
: h7 ?. A. \' X" E var parentNode=node.parentNode- k. V' S7 Z) s% D, Q+ B
var parentBgColor=this.getobjstyle(parentNode,"background-color");
& l. v/ R7 t8 }
8 j2 E% D& i) q; Z2 y var isLast=false;! m7 C/ I" `5 C) y
2 j# D1 x: d) f# T* D# B0 w
while(parentBgColor == "transparent") ' L s( H+ m1 I3 x) ]: k: H; |
{$ C4 |+ g K4 p$ j
1 G( \/ O9 i7 S8 y, |* m4 L; v
. R% o z o* m3 ` if(parentNode.parentNode == null)
% w3 G$ X! B" b6 B+ N {/ r! i5 H( ~; b' H6 z7 k3 I4 R
isLast=true;8 X! ~; ~+ e; k! L5 t7 Z' ~
break;
2 W* e) l8 D* f) G+ _7 [; a }8 K- C4 r/ n' T/ b3 C8 j0 `
parentNode=parentNode.parentNode;9 a& ~& c2 D5 m8 ~( C
parentBgColor=this.getobjstyle(parentNode,"background-color");
y$ k" p/ U# I! v; F" ]& k$ Q) T1 r3 \* d' d/ z
if(parentBgColor != "transparent") : E/ D4 W! M9 ~
{
4 B2 B; \) M0 _2 I! S( a. S break;
8 ^ u. I K: G0 o }
# y: H4 _1 H! ^. [: I' n+ M }4 `4 T5 p% a8 |
if(isLast) 7 n7 u/ C7 t, b/ T. m0 T2 K, ]
{0 E) N8 ]1 ~4 ^! I( e) Q& U
if(debug)
) ^+ P7 U e: g8 P7 [ {
- F& U) J; E, o2 `& J' p alert("last!!");6 K! T( x; u; P' T: j, z$ Y3 X) o. [
}
# {6 T! \0 n/ K- D2 F- g+ S if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- ?, z, s, |+ k0 R) e: }
{" S" _% Y$ a, T% [: t K$ P
orgNode.parentNode.removeChild(orgNode); & ?# K* \" [* a; Z
}8 a3 Z+ L. Q, G5 D( \3 N
}
/ g3 u2 v; @9 c7 \" B else
) l& V0 E/ y4 f0 G& N1 T {
' O7 N* r' k' [) N3 W$ } if(debug)
+ g& d1 N$ l" w! n' c7 u1 T7 m {& Y. q$ F4 H+ V
alert("compare color and parent bgcolor!");! t/ n; l. E9 V" \8 `0 U* S l" D
}2 B6 {! P9 g m+ ]% }* `
parentBgRGB=getRGB(parentBgColor);& {& j4 S2 A: X! E- {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 b. Q1 U9 U ? {$ L" q9 \* v1 i: L# }: L3 I: L
orgNode.parentNode.removeChild(orgNode);
" \+ L9 ~2 H" ]8 I/ ~$ c7 I }* u: f: M% m( c! t9 c- A& {8 i
}
. L5 u; B3 V8 X% d8 L* Q }
1 E4 ~3 X/ Q/ ^/ q' x' u }$ p3 Q0 Y4 {6 u
}5 A6 B, U# C% J' q8 [" q. v9 @
}
" f' x( n/ ~$ F+ E3 ]% o , d0 Y# D e' z7 Z$ \
$ S5 Z( q- C3 R4 k6 C/ k var itemFrames = page.getElementsByTagName("frame");
8 I) }7 p' u" p) t8 n1 I var itemiFrames = page.getElementsByTagName("iframe"); ]" O+ P# g _. s. _- q
5 y% r0 Z$ H$ j$ |! @" E var frame, iframe;
2 m( M& Y+ f1 y9 n& e1 s! w if (itemFrames.length > 0)
# C" M& Y- Q$ m1 ?7 j3 ~' p; ^ {
. K: F+ f4 E4 m t0 p0 R5 V for (var i = 0 ; i< itemFrames.length ; i++) - q% [3 ~0 F' F1 f* `
{1 ^" p# ]8 ~1 e
frame = itemFrames.contentDocument;. a3 b& n# w1 A3 y
this.RemoveHide(frame,objname); ' m9 g9 H" c' `7 I& v
}
n) i, S0 U: x, r: Z }
$ e5 l$ s* v. L; z; o if (itemiFrames.length > 0)
: {( ^! J+ H$ c# a) a* o' F {( z X$ w- K4 T+ H8 U9 H3 M1 w
for (var i = 0 ; i < itemiFrames.length ; i++) 2 T" ]; K1 P5 P. y3 K
{
6 |. H2 G! r1 j) n; J( q+ H7 h iframe = itemiFrames.contentDocument;& u) m9 S% \) _2 Q6 m; e* w
this.RemoveHide(iframe,objname);
9 {& d& x$ U7 d' o. W( I }
3 v' D* S( `6 c! `; v( P, r" { }
1 `; u2 w7 P; V2 _; l3 X, [ }9 X7 H, E( ]# k& M! p
catch(e)
1 N0 R7 ]$ o: L, l; C& L5 j {( q) w' M! I: R$ d- _8 m
if(debug)
9 U/ x; O v& H' p! _7 c9 g3 G {
4 V" W4 ~# r. ~7 G6 b alert(e.message);4 Z9 a+ O3 T$ K8 b& N3 d
}
. n- a' N6 ?5 j/ g }" D. y. v, X9 \. o
}6 g% U) ~! {9 }! R+ t8 A6 A
7 B6 J K! ~# E0 j}
, ?* |9 M0 X. _( C# v0 [( E. u, Q3 W$ D, Y0 P- p! ?6 B+ B
function getRGB(colorString)
9 {6 d( Z( o$ ] e{( f# W/ D( X! @( v n
var RGB = new Array;
$ l5 x+ y7 q; z. t5 z {+ I9 K% k var tempSting=colorString.substring(4,colorString.length-1);
6 N% t g9 v6 ~- s var tempArray=tempSting.split(",");
# b6 B8 |" F4 ]
$ C- s' Z" ~) T; F/ R0 ? RGB[0]=parseInt(tempArray[0]);
+ [, D2 G. i3 p, C$ ? RGB[1]=parseInt(tempArray[1]);
X J9 L. B" c0 [6 |/ `* T5 C N RGB[2]=parseInt(tempArray[2]);9 f a" r$ ?5 W- |* P) H) j8 y# l& q
9 ~, a2 I0 O8 @) K, Y
return RGB;4 w! M; U1 {5 I h" @" B6 M
}3 [& j8 c) ]6 ^& _; X% V
function keys(evt) " m1 ~) C9 w* t8 C
{ + b& p' d9 _" Y, D0 Y* j% ~
if(evt.ctrlKey && evt.keyCode=="81") : P* Q9 ^1 J2 o: R+ b1 g8 ?
{
, p+ F5 m1 s+ Y- l- y4 D! k+ t CleanHideObj.on(0,1);# m9 V' G4 m8 _5 k: s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & B; R6 W6 Q7 G. e
5 B4 _' R' }: t2 f } 5 B, T- d5 t" L3 G! Y' ~% U2 ^
} . F6 |, |: W; N6 ]- W) e& x6 @
document.addEventListener('keydown', keys, false); ( Q% k2 s$ |) w! n' m) k( k: l
GM_registerMenuCommand ('Clean Hide',
3 `) D# X9 z# F* ]" i' Ofunction(e){, X* ?( y/ x4 A8 H ~
CleanHideObj.on(0,1)% g% `' g& S1 t8 \6 y+ z1 m7 l
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( [1 O% v# S; ?6 K# R! c% d});
, a# ~2 y2 Q$ S9 y |
评分
-
查看全部评分
|