|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 " B* J" l% p- x" l5 w; f( ~& C
/ C5 T# [' B& L6 S火狐插件,用猴子
4 H, f9 c" h* v2 L6 S8 j# o3 i( T/ L/ z6 M8 q! ? |
var debug=false;
- E, F% c! s1 f% ?4 C8 n9 kvar CleanHideObj=new CleanHideClass();
0 m$ {4 M8 o( m. X2 S
- D w' _" X* ~" ^6 W8 s, s3 h& xfunction CleanHideClass() 2 C) E* T8 J) S) R. |/ ^/ w8 k
{ + N8 G! n9 w: m( }" n
1 _) M( f; b( {6 } this.on=function(id,bMZ)
1 P2 O4 T: b# Y/ O5 v$ d {
& K9 E& @; D0 C8 ]
0 i. V; }( K0 i2 b1 W- l" ~! {4 O1 ` if(id == 0)
4 A9 D3 c* j8 H% f! ] {
: s, q6 r/ \5 c4 u" ? var page=/* document.getElementById("content").contentDocument */document; ( s# Q& n6 g, ^% @2 m4 T! O' Q6 ?* h
this.RemoveHide(page,"span");( C0 t3 S9 n+ }& r9 `# Z
this.RemoveHide(page,"font");
' z! F# h, `( E9 ~' I this.RemoveHide(page,"div");
' d; L1 t/ b. Z$ [8 C this.RemoveHide(page,"p");
7 N. F7 i7 _, {' W5 S: k
4 m" N& n- ~; a C# d! } e }
$ d* \( R$ y. } O, c , p9 V6 K- \( c4 `$ k4 h. T
}% V$ H2 B! d' J+ f0 d6 a u* P, f
this.getobjstyle=function(node,prop)
: u; n1 q0 F: X8 k {& `1 {7 j6 `) F1 W
try
J/ Q+ `/ Z1 q/ z. K. Q; r1 u {: c& j/ j! J4 A' @' Y
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 Y' y% l4 D* c9 q: P
}; G$ I, v6 q6 z
catch(e)4 p# F. x7 l. ]. ]1 Q/ _. D; ^
{
$ u( D, M* `9 s: N& U: p+ d& r if(debug)
- W' C( {. g# N, h" ]( r; k. m {; E; e+ S0 t! A5 `5 n4 H2 }2 E3 n, A
alert(e.message);- T1 U( u. N5 a' q8 E
}
& ?* Q! B8 i; U, C D* B# C3 j: s
return "200";7 |% m5 z' Q. j! ?6 J6 b1 o
}
$ }; K: c4 E4 C6 h0 T }
# m- l/ {; l) W/ e 2 ` n w( n, I, N7 G/ C
this.RemoveHide=function(page,objname)
* @ A2 c; f$ [, D) s {
( O; @4 k1 I5 Z6 F% z# @) A3 I- |% ? try
6 o, }2 v' X& f. h ? {
* f; W. A9 v! E; i+ J: { var minValue=15; M1 e8 j& D& t; \; R& z9 I
var objs=page.getElementsByTagName(objname); : P( \& O6 i" D
; L: Z/ @: W+ B7 ~. `
if(objs.length == 0) " R2 N: Z; _( l% M
{
6 S& o9 R4 r$ w- W" r6 a% ] if(debug)+ {. K- \, y5 q2 R( Q
{( h& U1 G1 J! M
alert("no object found!:"+objname);( F3 I7 t: P8 q3 [ q/ k
}/ Z. x' C( ~. w. K% s
}
( _4 J- `! N& G @ else
# r+ c7 b( k2 Z" ` {
3 k! q$ E8 s. i% Z4 ^ r5 v ) B2 X2 d% |- i" m! B [
for(var i=objs.length-1;i>=0;i--) 1 t& q/ ~6 N B2 ^( H) E- m
{
/ H( U1 O- A" j( b- ~ var node=objs.item(i);
% b3 k9 y4 g0 G2 E- k9 \ k 4 m2 {2 f. g* p
/ `* G- b& \! Z1 q0 C' F if(this.getobjstyle(node,"display") == "none" ||: n% N, K8 t( [0 |
this.getobjstyle(node,"visibility") =="hidden" ||
! [/ s3 p2 N9 B# C parseInt(this.getobjstyle(node,"font-size")) == 0) 9 d' g" Z" {% X6 F' k
{7 n$ D& u z# h# s9 Z" L! [: g5 j1 |
if(debug)
; J4 t2 O3 ]8 ^6 Y- b ] {/ T& I% V1 i2 g
alert("remove invisiable!");! z1 x( V9 E8 b6 m7 o! L- G5 ]
}: j' A2 `2 {$ t9 d
node.parentNode.removeChild(node);
% v/ n: ]; q6 M
O' T# V1 X; O* @; O% x( b }) x% p% u B% h, u1 Z( o, }
else - q) t1 h5 v6 X
{+ i9 {- I' g8 h& q
if(node.parentNode) - m+ n6 i4 g5 _( J6 Y( K
{& k- {( ]6 E v9 f- M7 B8 c; u
var orgNode=node;) C4 n' _3 v- n
var orgColor=this.getobjstyle(orgNode,"color")# O0 r& e- f; Q8 i E# R5 f& w
var orgRGB=getRGB(orgColor);
, g4 R0 T! h2 d& ^
6 ?0 Y/ s# `4 r o+ H2 _. q$ D var parentNode=node.parentNode
, ^' a3 h2 b5 Z+ V7 A3 A var parentBgColor=this.getobjstyle(parentNode,"background-color");5 r' b. t$ v- | j5 r' B
1 F/ @2 j ~2 y
var isLast=false;% D. B4 }. V" a, H, ~3 @
- b! F# f+ Q/ ~. P' H
while(parentBgColor == "transparent") + b7 @' w; S% O) j3 z d' q' ~
{# R- _6 y% V: o L3 r( S
" h! r! W% L3 F/ c3 f; b: f; Y' x8 O 7 m# B9 b( M0 s8 V6 K: P# z
if(parentNode.parentNode == null)
" m* S0 w! z( C9 X" ^ ? {
! g Q# j* n% G8 e# X6 G isLast=true;
1 G. k7 ]! p+ d: i/ c6 Y break;/ l. g4 k3 W% x3 F, `; D6 o: r( m
}
0 [* J) g }$ J6 b2 v parentNode=parentNode.parentNode;' W- @9 t* D" ]- D) x) ^+ M
parentBgColor=this.getobjstyle(parentNode,"background-color");/ R% D# D& x& x. U! g- t
7 ^8 W. M! l) i" \ if(parentBgColor != "transparent")
9 O A* p- l; S {
3 ^; @. {7 h- n. ^8 p0 S break;/ i$ i2 Y2 K, k1 u( B/ h; [
}
+ f; t1 I* O9 H8 F- J6 A }
: J& o, q* E' O9 P, Z if(isLast)
5 L, g- g4 {" s {
! r2 ?; U, G; ~* z; |3 X if(debug)* K [" J8 H6 _# I
{3 j- M* W" Q' m
alert("last!!");
8 G% _$ {6 y& O* y9 a% [ }8 z7 J$ Q. \' V- b
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 H/ S- V$ H" Y& s H3 E8 s# I {# i) J2 D; E; B7 ?+ m- B
orgNode.parentNode.removeChild(orgNode);
6 d& w; B. |: Q# H }
3 ^* J% I) L0 ~7 V. H7 I5 V }
0 D9 l* y/ ~& t; k! o else
( G+ r1 n( D6 Y {7 q" T* |! z5 f/ n' n% Z
if(debug)
% U' I! \" N9 i7 E1 J. ` {
" W( B. b, F1 h _ alert("compare color and parent bgcolor!");+ t; ~. y# I( |; M4 ~% I
}( t9 o+ @) _. U3 E
parentBgRGB=getRGB(parentBgColor);
! k0 B( J* H7 n2 c! T( t* y if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) C& R! p1 Z; V" x1 l- w
{
+ t5 w3 V7 [, O1 k6 s1 n. o2 v orgNode.parentNode.removeChild(orgNode);
1 g4 H9 s) `% q& P t }% C9 i" c1 H; O" `( w
}
- O6 | a: g" a6 X; G: I8 u }
1 B$ K. s; i* D }
% U0 v$ T) u: c# @, e5 D }
5 E, O: b9 C5 F# N }
2 r- [& S8 v/ F; K$ U! G & y5 K. E; U; C' V
! ^3 A( ^6 t- ~
var itemFrames = page.getElementsByTagName("frame");
& O7 o2 m2 @ r; t% M var itemiFrames = page.getElementsByTagName("iframe");+ u6 A/ L$ p. s3 j* ?; v) a: U$ i$ x+ l
9 I) X7 ~3 @ ^ N( a; Q, ~ var frame, iframe;
7 K4 _# ]+ H* } }# v if (itemFrames.length > 0)" b" e1 P" I7 m% e1 ~
{2 C. \! Z; d, t m$ C% B' d
for (var i = 0 ; i< itemFrames.length ; i++)
3 T2 v3 A$ R- l% V) u; P {( R* p5 E# F8 U6 u2 H( E- s6 P
frame = itemFrames.contentDocument;+ V$ y9 `: C1 _% l
this.RemoveHide(frame,objname); ! _/ a& C! X' n! a5 [. @6 Q
}
# ~$ P" e1 \7 Q) \4 R4 z1 x }
0 z# D# \2 Y) h* T if (itemiFrames.length > 0)
2 w0 ` g) m6 l, B( W0 q ^ {3 J2 t# } f7 n% w. K" J
for (var i = 0 ; i < itemiFrames.length ; i++)
# b' l; H" g* D6 p7 b {) z( I: k% A$ @9 v. d. I& D! n' x
iframe = itemiFrames.contentDocument;
9 N) O# B) y9 f0 d G0 [' ?7 L& q this.RemoveHide(iframe,objname);
& J4 x. j$ |$ V/ v" m/ Q8 r }% O# S" }% L6 r+ x& k
}
G. X; W0 k0 f0 M9 b }+ Z7 Z8 u7 A ?5 N
catch(e)/ L, `# Y" o) a/ O' _ |
{
8 {2 P) y" t5 n2 I+ U if(debug)
m" `6 B: F; s {
2 g0 F7 ]8 N( y' S% X/ r alert(e.message);8 B( v/ _* L2 r/ \ Q, t
} [7 ]. l6 s# g# I
}
# b; R+ f w7 b' c }$ W q3 N7 Y5 G1 x9 [5 w
0 A ~4 A2 m, q: {' K
}8 B: G$ e) C) R- b, P/ E
- w1 }4 i5 X8 H" q; B! G
function getRGB(colorString)
, M2 Y/ k* A- X {" }! p{
. w' \& ^" A- j7 D& i6 `$ y var RGB = new Array;. ?) \) I# i3 o+ ], O' W
var tempSting=colorString.substring(4,colorString.length-1);$ @1 r" Z2 n, b% m7 b% x
var tempArray=tempSting.split(",");( S" l6 N! k: Y6 @% f5 N
5 p% W. m8 ` E0 L6 M RGB[0]=parseInt(tempArray[0]);
6 n- q4 x, c& C RGB[1]=parseInt(tempArray[1]);
0 I) \+ c7 Z" X* n* a$ M4 y' F RGB[2]=parseInt(tempArray[2]);
' }' G; C( X0 a% k 2 }+ D3 {& u1 [6 y+ B9 @( U
return RGB;6 d0 v8 V. e7 _" L3 W9 L
}5 _9 R& @6 r; A* L+ A( ]& | Y$ V, I
function keys(evt)
" w) E* m% T% { {
+ m/ Q! X& N5 `, P if(evt.ctrlKey && evt.keyCode=="81") + u( ^9 l2 ?# G2 e4 Y4 y' t# K* @( a
{ 3 f7 _2 ?, y0 ?5 u2 j7 q8 F
CleanHideObj.on(0,1);1 @& m% m2 I+ T+ n1 Q/ v/ L8 R R' T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; J$ Z; K+ j/ g/ Y( a 0 u3 O5 X, B, {
}
. `/ L4 a0 a# t4 K7 h7 C } 9 G. U5 k& _9 l6 F: U8 Q. T: a
document.addEventListener('keydown', keys, false); Q4 z. Z: C/ l8 Z6 |1 ?( C
GM_registerMenuCommand ('Clean Hide',
: j6 e$ C5 N, b3 {+ yfunction(e){
6 W) B; q4 S9 K) oCleanHideObj.on(0,1)
- d* J8 z$ Y/ V- ]alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- Q2 b' L, ^, d8 u) Z: e});' k$ m* h4 G# S
|
评分
-
查看全部评分
|