|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 x$ |9 d9 W7 T, K( I
) U3 |7 h$ u) P火狐插件,用猴子0 r% l& y. s V8 W9 b. o
O3 |, K( u" ]$ M2 e5 T7 _var debug=false;
7 s* w- E3 r# [9 w6 v) _var CleanHideObj=new CleanHideClass();9 F$ E; T n) v
: a5 Y% _" B# hfunction CleanHideClass() 2 x; T8 U' t7 l% H
{ 3 e' F+ m, r+ v" @7 l
5 ?& L4 S6 M4 s7 V4 s/ U
this.on=function(id,bMZ)6 ^. `8 G; I6 ^: d: @* L
{8 @* W. a' j" T
3 U( [- m. `/ ?) A0 p
if(id == 0)
3 ]2 c( d4 X! @' V! W z {( Y' J7 \) v6 w& J
var page=/* document.getElementById("content").contentDocument */document; 7 F+ _7 i C4 j# l2 y5 D6 C: `
this.RemoveHide(page,"span");3 s4 V& A( Y n$ I1 ]; L' M
this.RemoveHide(page,"font");5 G/ r4 N$ G& V* h( w
this.RemoveHide(page,"div");7 Z: M9 s! d' r" m% m' H. f
this.RemoveHide(page,"p");8 |0 }& a' Z! K2 u& I
2 N/ b+ {( m! E2 e
}
2 o) l, P# n. b ' n! Z: t, ]- n' S2 G+ R3 R
}
\0 @) n t9 @: R2 X5 t2 N this.getobjstyle=function(node,prop)$ ~: `6 `# H8 Y/ V1 Q
{
8 G7 u( E: a: t, R5 e try
! |% n% t& l8 s6 |# X {: K$ h/ d6 Y1 E* k# p( N; Q% e0 E
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 N/ L4 j+ \% e N }* s# N: m) c% V1 N0 V4 ~
catch(e)- q. q/ v6 t7 p. _8 R
{% z- z6 s8 O( X6 [2 R. n
if(debug)
4 T9 d. j6 v7 V6 b2 C7 h {3 ?. J; J2 F' U" v
alert(e.message);
4 e# x2 i; M: |8 }" S5 ?7 z, w- i }2 C. m, K( N" A/ m( ?
7 Z! R/ a$ k( o' H, ?
return "200";
0 a/ S2 ]% e7 c% I! p, e5 r }! o) a! P4 P7 N: E. g
}2 P+ W* y. d; Y) K6 S
; j( V6 U4 x! k# ^- j6 ?
this.RemoveHide=function(page,objname)' n+ u* |, A8 v+ w6 C/ u
{
/ U9 R Y! V3 J0 {4 {; R5 Q% l try& W( b" j& _4 `3 a) p Q; V
{. u- ~9 Q6 o9 C) m' b8 m% s! V
var minValue=15;! Y4 v" U) R( }& k$ Q2 J
var objs=page.getElementsByTagName(objname);
1 B/ ?4 ?$ Z% v, l5 z2 Z8 P. L# K7 d* b
if(objs.length == 0)
9 _4 M4 _; m$ r6 \% C' p3 n0 `% } {1 B8 d- {. l8 h j! N1 [/ _7 Z5 X
if(debug)1 G4 A. L% T' F* K
{
/ Z: S0 g5 K o# }6 ?. f6 O: _' d) V, B2 @& t alert("no object found!:"+objname);' A# F8 p) [( F4 V& ~
}
& N# G* A2 p$ V0 a }
( u& a% u( F1 u( [5 u- c$ e7 A else D3 ^7 j; R* a) i/ {
{* D) l, b' n {5 a
/ T' W2 R, X* n! U$ f for(var i=objs.length-1;i>=0;i--)
& k, v2 F+ P- C* H9 F, Y {7 X: o( {$ U+ i7 z
var node=objs.item(i);
4 G* o' G X0 B
4 T2 \! J$ i7 v$ }/ ?. g; k
" s5 U" ?$ T1 C. G if(this.getobjstyle(node,"display") == "none" ||) m; l- g2 X0 Z( Y- P
this.getobjstyle(node,"visibility") =="hidden" ||
5 I, |5 j! F6 P. b) [8 h parseInt(this.getobjstyle(node,"font-size")) == 0)
) O( V M; X$ C+ \ {2 P" Y; b$ D/ ]6 z
if(debug)
$ `' u" I/ s& a! ^; T5 w {9 a2 t+ A( D! I; A, o' s: d# N" a
alert("remove invisiable!");4 s" i! t! Y) \
}- C0 a+ }! v) H4 n
node.parentNode.removeChild(node);- [9 m9 |; t2 t+ V) }) | y
: S: |7 P! K& ~6 \1 j8 I: p) M
}
+ @ I* N4 H: a else * K, L0 z4 m3 e9 y. G' q
{
2 P5 t: z1 R M' e% X if(node.parentNode)
% x" f+ ?5 [& ~8 a0 C {5 w: E" }" I3 C/ H; Z
var orgNode=node;
- l9 G6 x% j- O var orgColor=this.getobjstyle(orgNode,"color")! e2 w, l0 n* A: |% N
var orgRGB=getRGB(orgColor); 8 C' m1 s. ^- S! H6 A; B
7 \ |( |, m8 h, H3 S, i: `& B
var parentNode=node.parentNode
1 u" u" W& T9 _. E$ \ var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 f8 q6 [' D$ q' S1 ~( J ! C, b7 P. s: l6 o; l
var isLast=false;, f" i( I: o1 O* u8 i; H
- y$ N( i7 U: N& }4 r5 ^0 f; z" i% m
while(parentBgColor == "transparent")
) g; C S% { B4 t- u& M! D- @ {
. ]: E/ M* H( ?4 S) M0 f9 _8 Y% f# P8 ] 0 V" A' F3 d F- J( x+ G, N
0 T: D% \" h/ U: W3 |7 a3 R if(parentNode.parentNode == null)
$ z. G( a9 u% N& q {2 G6 k! f3 Z& u. A3 `5 C* d7 W
isLast=true;
3 T1 N# m2 v* f+ E3 P9 _ break;
5 u/ L' k% M) [, z) e }
4 ^: @: n3 X4 a3 B, U% m' F parentNode=parentNode.parentNode;
" f* Y" p+ f0 A! P- T parentBgColor=this.getobjstyle(parentNode,"background-color");# Y+ ?# l4 a3 v% S2 X. z% x8 r
, W, o& F2 h/ g! _! Z/ m6 | if(parentBgColor != "transparent")
( V0 ^( u4 V5 g$ T {
Q& v6 m8 ~( W* D% s break;
$ q! \% [! C* A! c6 {" h; m3 f }6 d' ^- _8 f2 P, o. U" A: z
}
& ~* c% b9 l4 r. O7 o3 y. C if(isLast)
2 p/ q: w% d7 m2 M5 A0 \9 y0 e, f {
* W6 Q" f A$ e if(debug)& v: h6 N, Y E* R, U/ E
{
2 x& K% B A' u2 y# {1 G V2 n1 m alert("last!!");) ?7 J# b. }5 s# [+ k- Z8 \8 W
}9 }: [6 d/ ?$ E
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 K( K2 l& U |2 @) p. j! K
{
) b' C0 g, h* h! q, z( d orgNode.parentNode.removeChild(orgNode);
6 D) e# j4 z P* Q1 g* Y6 U7 p4 { }$ @) l }9 p" r
}! }! [- i# X! Z. C7 H4 M8 v# ~* A
else# Z8 s' G" d" y3 {' @
{
( o0 u- \7 r/ h$ f9 Q, Z1 h9 ~ if(debug)* I+ m r" W: v# }" p2 s
{
' t1 |" F7 Z* k alert("compare color and parent bgcolor!");
f5 g$ a% z+ [/ S }9 [ \ D: C- x4 H' c$ n- l N
parentBgRGB=getRGB(parentBgColor);- A5 r O( v4 ?) w( C2 a
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 q5 Y' @0 L% @3 H# n6 L4 r9 C {: `5 W% e9 ~5 \! S+ X1 v/ |
orgNode.parentNode.removeChild(orgNode); ( g- }# M. B) K* B. t$ E) t# _- Z
}
0 C+ I6 m7 o3 _1 O& v, j* D }' }" Q+ ^6 o7 r4 V: f, C' H$ @
}
9 {" O0 m3 \7 Z9 F' W4 C5 v }
2 C' ?5 f2 ?; M4 ]: ]/ u D }) f6 y! G0 h' d+ w
}% `. p3 I* I6 K' o
+ c: m( }; j6 ~4 ?# b
: c1 A/ n' X- ^: ` var itemFrames = page.getElementsByTagName("frame");
' a, N& e+ K, t- L; N7 ? var itemiFrames = page.getElementsByTagName("iframe");7 O" N: E+ t9 E
8 C9 K" V2 M$ T' o% s0 _ var frame, iframe;% |! n5 R! ~0 q5 a. b; B4 j/ v
if (itemFrames.length > 0), W; x' I7 Z+ \; l/ v
{
5 `& l9 n( e0 v; c) _ O* D" G for (var i = 0 ; i< itemFrames.length ; i++) 9 M c7 \3 _ ?, P. V6 K
{, p. ]1 l4 n% _$ B( y; [! }# w
frame = itemFrames.contentDocument;* I/ O% ?* [+ ~8 G
this.RemoveHide(frame,objname);
" `) X! y' b8 V9 d9 { }4 I8 k' S/ _- [
}2 e j- V% F v
if (itemiFrames.length > 0)* Q4 L4 u% | l
{" G6 F+ h: O0 K7 y9 @* i: h: f
for (var i = 0 ; i < itemiFrames.length ; i++)
$ _5 R9 M9 D8 ~2 C {
2 D- ?% u4 w7 l- i7 P) J P0 S- K iframe = itemiFrames.contentDocument;
2 M: S0 O/ p" L% F this.RemoveHide(iframe,objname);
1 f( M. k* _" K8 O& u1 | }
( } c# p: e/ m( V6 d/ d. J }; S* ?- d& v' a, `2 z2 w) \+ v
}
/ Y1 \1 ?7 x0 S2 J6 O catch(e)% z8 a+ i3 y- B
{" J: Y" u% e5 j
if(debug)/ L" E1 L: {% t6 H) P
{
$ ]6 | e0 A# l5 |9 v alert(e.message);
. Y/ x8 B- a8 T) m! t2 {: ^2 z. R }* Y+ ~6 l! T Q
}( N5 ~+ U4 L4 w1 V
}
! w: L% O4 R- o* O
0 V+ p! v4 ^. G+ B}
5 x. X4 x( z8 E0 y* r1 K2 J
. b3 `; H: [% R; l% ffunction getRGB(colorString)
$ T; ?" G% E) @4 A1 p, I5 E* w9 s{) O! z, B/ [" X( S' S7 G6 w
var RGB = new Array;
$ [+ o0 [: H6 l6 k4 c var tempSting=colorString.substring(4,colorString.length-1);' q/ p; t% _5 p# n/ b4 m( ~
var tempArray=tempSting.split(",");
) ?+ x3 `# y9 P' X. `+ e
$ L1 r" P& k( S1 K0 d0 Y; N RGB[0]=parseInt(tempArray[0]);
: X1 P3 d- ]5 |7 P RGB[1]=parseInt(tempArray[1]);' @: {7 C- W1 q" G$ _
RGB[2]=parseInt(tempArray[2]);
/ C* D: w6 y5 S e! _+ i
# H5 b5 q# c% ~- S& r6 o% ] return RGB; g1 o8 H9 D: x3 n: @+ C( R' i8 q3 N
} O0 K9 o1 I1 J
function keys(evt) 3 J( w+ b. k6 b+ k$ @
{
4 b" @6 Q- G. B% b/ F if(evt.ctrlKey && evt.keyCode=="81") 0 u5 Q. q6 W. Y8 Q7 t9 b
{
. E1 U0 `- l5 }/ J( V" z) X6 W CleanHideObj.on(0,1);
+ n3 y: {+ k8 R3 \ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 C- H: k9 ~7 B. I) ]( U1 d ! L: Z7 K+ d$ i
} 8 q8 J+ B+ Y; x# N: v
} 5 z8 O2 V! u& g" l
document.addEventListener('keydown', keys, false); $ U& \' a% S: r
GM_registerMenuCommand ('Clean Hide',) }$ ^! i9 V m$ V" t$ D
function(e){
9 K$ W: _* U& m, _) E% j- dCleanHideObj.on(0,1)
) A8 q+ r- [7 ~( m/ ?alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! W& k) G. \1 X4 `8 o1 Q});: X* S2 R) W7 o* b$ X& t
|
评分
-
查看全部评分
|