|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 m9 c* q7 v1 S
: |( d' n0 S0 f( ^火狐插件,用猴子" j9 T1 p* g. L2 ^+ J8 D
' K, H$ `. P6 P& l/ a( yvar debug=false;
& P3 t5 B0 ?4 Y/ Fvar CleanHideObj=new CleanHideClass();1 J: r/ l R8 l0 j3 {
$ `; C7 A& u( p! d" ?# vfunction CleanHideClass() $ B8 U3 {6 z/ R) x
{ , u9 G8 [/ n/ }1 Z* Y6 o0 _
0 g2 G, e. s* \# t8 l
this.on=function(id,bMZ)* N, [, W; T2 C! `, E- A z
{
; _7 o1 B" X4 G' B5 [' E& ^! @ . X" g; e/ Y/ q8 \% ~: F( ]
if(id == 0)1 w7 @8 q$ r8 h
{
/ d# b7 \) U2 G% N2 j( i var page=/* document.getElementById("content").contentDocument */document;
; o$ W& E6 a! y this.RemoveHide(page,"span");: u- l! H! R7 d2 C( s2 |
this.RemoveHide(page,"font");
: p2 G7 n0 f. `# Y8 j: Q$ G this.RemoveHide(page,"div");
1 K9 d) g; e3 p. R9 P this.RemoveHide(page,"p");' f _9 t, _# A$ v$ D
4 r* b- J9 x9 V% F/ P
}
9 Q7 i3 L8 x! l7 J* b- A
& t) ?4 o5 {6 q9 }% ~$ C }& z. D- |1 s" f8 N7 H- J: t
this.getobjstyle=function(node,prop)3 q* B0 y I' I4 P: G {# o
{5 t- h0 g* y( }6 o7 ~( O( [
try& L& d9 }% |) j& W
{6 P: I! |! k9 w. S
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
% n6 O" x# U' Y/ _ }
( @) t9 L# U: j catch(e)
. v* S3 Q/ h& Q; X7 X; V {
* U% V8 X7 x8 W( J! W8 O: U1 j: C if(debug)
& |, ~- Q# U, K p# i. {# t( E+ K! z {
8 X7 o9 K2 l, t( ^" p alert(e.message);
! p# s8 R0 `! d" J' O9 O }4 R) v$ x( w$ H+ ?
0 u* a0 b; U h: _ return "200";
0 s( {3 |/ @0 J+ t }: H6 K$ U0 s8 V9 b( V
}
$ P, J7 S' r n7 ~$ {7 F , @5 O/ t+ r$ M: R; i* z
this.RemoveHide=function(page,objname)
: s' ?6 K+ t9 z! J+ H! k8 s# R/ M% t { ?9 D& `5 O, _3 J5 V
try: F( r* _" c- E$ G; ~
{( [/ O) O6 k2 V' e9 w
var minValue=15;
, E4 _' E( L s+ i var objs=page.getElementsByTagName(objname);
2 D+ f" ~1 `3 U+ i2 W
3 @% F/ ]/ s4 N if(objs.length == 0) 8 b. I+ P7 N0 y9 s2 j/ O* {
{
: {' R" V& C& z. F" y) D/ ?! b if(debug)1 q' B% t$ |4 Z3 R
{
* g+ z; |5 d9 J$ z6 b: P" ` alert("no object found!:"+objname);
; W3 i" i9 ~- _' k }
- Z- `) g6 g1 s9 ]2 g6 R }
% u# [! m: W; E: O9 _! K {! A' F" I else
, p1 P+ z3 k9 Q9 R {
& P0 V; p1 o; Z 0 N5 A' @ g' l1 P8 g2 ~
for(var i=objs.length-1;i>=0;i--)
J" H. W! M2 y& I {$ B0 h& z, v$ f5 L. Q3 u1 A
var node=objs.item(i); 3 N/ _; ~* B+ E
. Z- M7 {% V) E7 N% {
9 k) W8 p# L6 Z- x& x# j# g7 [, W; ^+ \ if(this.getobjstyle(node,"display") == "none" ||
+ Q) f8 ]8 {" @3 d+ f1 ? this.getobjstyle(node,"visibility") =="hidden" ||
: |& s$ s/ A6 N f4 _2 C parseInt(this.getobjstyle(node,"font-size")) == 0) , Q. C4 j6 v9 w7 a! M" K k9 |
{% @2 K. q+ \- D
if(debug)
q7 A J' I3 o2 P/ z9 k {
% {3 ^# c0 v" S/ p# Z, _3 V alert("remove invisiable!");3 w! K7 c& K, j0 p4 o) Y
}
5 J% ^! ]! f B( `( l7 p node.parentNode.removeChild(node);
" {/ q* P! `9 j5 s ' H2 q* N) @; b9 ~2 T# ]
}- y8 I8 U* h4 e' I6 v( l- a3 K) ^
else 6 }9 j+ a. ?; ~
{
3 G+ O) n D# ` if(node.parentNode) * {; U1 D E* `' R( U, X8 ]' v
{, v" n' r7 f$ o- J4 W/ y
var orgNode=node;0 I' U8 H/ T( s
var orgColor=this.getobjstyle(orgNode,"color")
; D& c) q; J( h9 h var orgRGB=getRGB(orgColor);
" e; ~1 H; r4 j & q, @5 P9 R- b" p9 Y
var parentNode=node.parentNode
: f. M1 ?7 ^7 F8 r; l; U var parentBgColor=this.getobjstyle(parentNode,"background-color");3 Z. j$ H; d: R4 h3 f ^6 a
0 S( i8 A+ T i/ H" w3 c
var isLast=false;5 v( S v7 m, c! E( J* b
* I. U! p$ T7 y; `- ^/ H: B. u
while(parentBgColor == "transparent")
$ r4 N) O1 Y0 ^, f( m {
& V+ Y1 R) P( T" ^, }
% t) y! o" A# Y) h% b% Q1 R) p
, N4 h( n6 c7 I3 t! f% E' a if(parentNode.parentNode == null)
* F' {7 i" t J$ `; R( m {
. F' T+ ?, N0 c1 v) V isLast=true;
8 M9 \9 }) v% | break;9 H2 Z% I1 p2 ]3 u k& a( b
}
, p# ]5 Q. m" [/ [3 i X parentNode=parentNode.parentNode;
+ q6 f4 Y' h$ T parentBgColor=this.getobjstyle(parentNode,"background-color");
7 J# p1 z% E | p( m |1 I5 x6 U6 f, Q! l$ m. p
if(parentBgColor != "transparent")
/ E' n/ ^* T: i" h, Z$ q {
/ P9 a& G; B8 g. S* L1 s! M7 l7 u break;+ a2 a1 U- |2 a: b- r% D
}2 p+ o' c/ Q9 C9 g- u' a
}3 ^9 l- ^5 z$ q9 l3 x& t
if(isLast) 0 {2 _! A6 o+ Y9 `" c
{$ {9 ]& p4 k1 ^/ c3 \ \) [( K
if(debug)! p! Q+ I' A/ Q$ }4 j8 k
{
5 G" {# n# R2 m) e9 Q2 ~& k alert("last!!");
4 B: G- C9 f9 d, \+ K# h, z5 m }+ L2 i, ?0 V4 L5 _. U3 R2 ]3 E9 Q0 l
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ ~' O9 \2 C! g! x% K+ Z {
! u3 Z: T0 K) v5 Q orgNode.parentNode.removeChild(orgNode);
5 e/ ~$ c! n3 x' }4 s8 U }( W2 t$ F+ @) x F; @9 H8 ?+ c
}
* c4 b. X* A$ @2 i/ \) i/ @) n6 K% p else
1 q& F4 f* f" g2 I {) p- `# d" J) L- x$ n
if(debug)
: f3 s0 \& V; ]/ P {3 h$ }1 F- @4 l6 I+ D
alert("compare color and parent bgcolor!");1 N- a F7 P$ h* R9 K3 j
}
# }3 m, n& J) H parentBgRGB=getRGB(parentBgColor);8 b8 W1 t/ x2 E: ]& O
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 S1 T" _# f" V
{
5 ~) e; F" Q: o& y orgNode.parentNode.removeChild(orgNode); 8 w+ s) G# h) G0 z0 c
}
( ^, A$ Q l. h- N6 a* G# \4 X }2 w; H0 R8 ?2 t
}2 R$ i* k0 T0 j% [5 k0 J
}
. @$ N B, M: U" V- z0 _% O# L6 m }
, P3 f) u9 i, K9 E5 s3 e0 j9 j6 x0 | }
# U( ^+ D9 q. {( J Q2 M
: C ?- {& U" j' ] 7 d1 ?0 V3 ?) c
var itemFrames = page.getElementsByTagName("frame");
. u3 K3 g$ |+ G5 o8 x2 x var itemiFrames = page.getElementsByTagName("iframe");3 D8 t, k& ~0 b y/ Q
, O5 ?( L% c3 i8 E7 n. o var frame, iframe;; D* F- e1 s* f& C
if (itemFrames.length > 0). D; q& k1 G2 c
{
1 s F8 f7 ]/ b# s; ` for (var i = 0 ; i< itemFrames.length ; i++) l- D: D7 I' \1 \6 h6 r. |8 `4 Z
{
' j! M8 H. Y B/ O3 c frame = itemFrames.contentDocument;: S( ^9 r$ U+ s1 f
this.RemoveHide(frame,objname); 9 I" x. \# B% C# g! Y
}
% @/ S! T O# C H+ f }, y: v) n s5 f3 |! j6 {0 H; J
if (itemiFrames.length > 0)* y/ {* P7 n( g9 a
{
6 I5 S9 A: @: S for (var i = 0 ; i < itemiFrames.length ; i++)
' ~' w& F* L# Z/ L {
7 [$ J2 u& V7 A! l, } iframe = itemiFrames.contentDocument;+ D k8 W0 \' X# y: Y
this.RemoveHide(iframe,objname);
+ q" s$ W6 Z5 f. Y }1 u! I- T+ W# Y4 Z9 g. g+ z
}
) R' _: f1 ^6 g/ f$ n" X }
+ H: h* E& t) w3 l2 b# a catch(e)
1 x3 o+ `+ u) {: m" }# e! Y {
4 R# N. h, J& E( t: z- Q if(debug)2 ]' O! [. Z" R+ I/ ]; @
{
- h% A/ R; t+ s9 x2 [ alert(e.message);
) B2 w" p( Y5 D2 [ }/ @4 D/ o- E" z" y
}" U7 ^- z# g" V. o8 M: B' g0 h- q1 P
}
- R* r5 t; ~$ _ 4 O) W( H! P& o8 B: h
}
! [5 `5 S# H5 t# C2 u" [7 U3 e9 a5 J0 U$ Y
function getRGB(colorString)' }2 t; P3 N! y! c
{( H( B2 k! w4 ^( ?/ W$ Y
var RGB = new Array;, n4 X: W& Q$ R* d
var tempSting=colorString.substring(4,colorString.length-1);
2 ^& @7 b5 O' y3 P- x% B% I var tempArray=tempSting.split(",");
! a# r0 A0 z( s- _3 X
A1 `7 e X' n, M8 v RGB[0]=parseInt(tempArray[0]);
( ]0 x$ \) y& i/ f2 y7 k RGB[1]=parseInt(tempArray[1]);; {! V$ L2 p! @, S% j! B% J
RGB[2]=parseInt(tempArray[2]);
2 W g( O( C( Y" S0 s6 h% T ' f" ?/ X& n( \2 l- m5 b% `! i. U
return RGB;
) I' j1 _: Q& _1 p% I) X9 N}
j8 Q6 G0 o6 {! A: ~! n* \function keys(evt) ( p1 S" z) ^3 D
{ ' F3 [7 g: B, U) u( f9 r9 p
if(evt.ctrlKey && evt.keyCode=="81")
+ Y' i: k T' H4 i" \2 S0 y {
# P* X. G- I6 b9 { CleanHideObj.on(0,1);
( [; X5 ]8 x! O+ A* s alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 X& z" P- F9 G 2 o9 I: T/ n. T/ E/ @* b9 w' h
} - K" a6 Z3 N* f$ n! Z
}
' Z. H; X6 n8 [: F; q! T$ n2 u9 cdocument.addEventListener('keydown', keys, false); ! Z1 b7 S+ u$ U" u% M
GM_registerMenuCommand ('Clean Hide',
* g( ?7 Q( ?3 d+ M2 @8 }function(e){
7 |! A" l0 s( g! u& V; k" ^$ j- H. ]CleanHideObj.on(0,1), v _% h3 p0 v5 [) b$ A3 ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 T4 `* V, b7 n; Q0 P8 j) N});
0 v. {3 y+ l9 j$ c0 T |
评分
-
查看全部评分
|