|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) }( c# G0 S9 P0 z
" B; K- M. F0 Z& i, A火狐插件,用猴子
1 x' u2 ~2 }) |4 \6 i# y9 Z8 G, a& g: i# z1 R) e- b
var debug=false; 8 r) D- c% H3 @- {5 I. ]
var CleanHideObj=new CleanHideClass();* e$ C" ]8 `' Z
. [5 C! g8 E/ Z" y/ e- _# K
function CleanHideClass()
' y' L, z8 m4 P, Y+ e{ 8 i! g( |# x- j- q5 }3 r2 `: H, M
2 Z D0 E) Q& ?+ \4 c7 u" o ?
this.on=function(id,bMZ)
7 y+ I% q9 a" D# }+ d/ A: U {% p$ @4 v- }$ C& p+ X1 C/ M
- J5 y* A8 T5 T+ e; |7 Q
if(id == 0)
8 a0 Q5 [* s2 E! D+ k) A {
; R; P7 a1 Q$ N2 ?/ C2 x" } var page=/* document.getElementById("content").contentDocument */document;
: u/ y$ i- O! i$ ^0 t8 { this.RemoveHide(page,"span");3 J1 M" b: H% J9 ^; h8 @
this.RemoveHide(page,"font");
( W8 v& T3 ~: t' _. u" L this.RemoveHide(page,"div");
$ d+ F/ N$ f* r6 g$ \% I this.RemoveHide(page,"p");
4 A% F, O% m [( D Z 5 M5 |/ t- j$ [# D- S9 T/ o
}
! D) @( z' A; Y7 ]8 N( x7 ~
1 e3 V1 i+ h! b0 n }
p/ Q0 |, h- D U4 d" Y+ A this.getobjstyle=function(node,prop)0 m Z4 h$ `7 I" R
{! x; [9 h/ O* w- v: G: P
try
3 _5 D7 X! a" L6 E4 V" g7 | {
: n! q, a- T, r return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" F* a# b$ n( r, Z! ]& b0 l8 s
}
/ [7 K9 W8 ^3 H' b* I/ B% I catch(e)
% e% G6 E. w+ h; k/ f {
* u8 r* V: N) C% n" r' }' q& K0 q if(debug)
: |( B: a/ \3 H0 t5 J! o8 ?2 I { C! u5 m3 `/ c
alert(e.message);
5 n: v9 g$ U3 j }. J# X, ]' U$ m
8 I2 C& X3 x7 y) z+ e
return "200";) J! q. |. D3 {8 H0 W% p
}0 h1 ]6 B+ k, Z
}
+ R; j8 K6 y/ d: e
8 w1 A* M& r j6 ?, Y- @ this.RemoveHide=function(page,objname)
0 u5 u: m7 u" I* a, W, p1 X {# W' ~9 A' d8 u. ^( v& }% |+ `; [
try$ L' o7 f9 K4 \7 U3 O
{
! I- W7 I" k4 x& B6 b. W& O var minValue=15;
# F! N2 g" W m* |% P var objs=page.getElementsByTagName(objname); 2 v8 J9 Z- p. i; X+ z5 G7 [
1 w' o4 ]% c9 K4 h1 w- T if(objs.length == 0)
8 F3 @7 T- l' r t, ^' j {
3 G! c: ^/ c; C6 V; n4 V if(debug)# K; a/ b+ L7 V4 m
{
3 Q" m. C: o, O' v/ e+ O alert("no object found!:"+objname);
- }( }0 u5 \& |$ {" x$ n( j }+ u; q& {4 }: i% P: ?
}3 @1 b$ H3 u+ }, F( z
else
- D: p( y3 }( Y& f9 f3 D, P {' f. ^* g/ O' i0 p# ~' Y
: X% k7 p! P, a1 n. G for(var i=objs.length-1;i>=0;i--)
$ J+ g5 k) w# z0 H* s9 w {
1 m' D; O" F( e! o1 X, l* T ?- {1 X% | var node=objs.item(i);
4 L8 |: f4 I8 y 3 e, @, X& g4 g2 T! {
) o! }, Q1 w5 i- R$ Y. W( y8 ~, x
if(this.getobjstyle(node,"display") == "none" || G: J2 J) ~# G$ Z
this.getobjstyle(node,"visibility") =="hidden" ||
6 {' [$ q; x' a6 e" p, h. O parseInt(this.getobjstyle(node,"font-size")) == 0)
8 K# @# C9 y9 u {+ X, _4 u5 w- N2 i
if(debug)
4 X8 o! @" }) i$ f7 ?. Y {7 g4 d0 B7 a7 S( F. l/ V" m% _, `# H l
alert("remove invisiable!");
# g3 e' D( t' ]' |- c }1 s0 [5 e' P, G
node.parentNode.removeChild(node);
% x8 b- N1 C8 ]/ h+ N " D9 P: t! E% E: H+ C* {
}
5 m" p) Z* ~- Z3 R9 Y" X3 q else
; s8 }; |; W7 I {
0 @, K2 M. l" x! U if(node.parentNode) + I5 @0 g/ G8 i& A3 H
{
8 n0 P5 ^) ~& Z; f var orgNode=node;2 W$ { V) i/ D) E
var orgColor=this.getobjstyle(orgNode,"color")
% z# e5 s/ R6 k, K) U3 j* m var orgRGB=getRGB(orgColor);
1 z9 M; R8 v7 q! j$ z# v8 b & Y$ H# A) ]1 j6 r4 d( k
var parentNode=node.parentNode+ a5 Y r$ P3 G, z0 ?7 r
var parentBgColor=this.getobjstyle(parentNode,"background-color");6 s# O. h2 c! _
" A* W! z6 J6 n var isLast=false;
1 \: M' s* [8 P5 T$ r4 I, ?6 x
3 J) j% f4 ^- p8 f6 D" [8 {+ d while(parentBgColor == "transparent") # k$ i; t# z+ l" L: U/ U, ~$ `
{5 _/ T8 p3 _2 x, ~/ Q
; c4 K, x4 F9 l; b
% O2 `* o4 Z/ u7 U/ Y- [$ @6 q if(parentNode.parentNode == null)! m. {4 E4 U7 u6 R
{
4 g2 g# i9 |, C isLast=true;% |, ^0 p) p8 r2 T( S
break;
% F# e# o' ^! K+ v3 z }
6 u! M5 u0 F/ M4 o5 l/ E2 ~ parentNode=parentNode.parentNode;8 `4 T* q3 w& v% L$ s3 z! W
parentBgColor=this.getobjstyle(parentNode,"background-color");6 z' m n# t; m5 L- n/ c! Y1 M
4 ^/ p0 n/ p7 n7 [8 e1 g k if(parentBgColor != "transparent") ! z& B* g1 a* |% ?5 M" f
{
/ | n1 U" r% u) v2 ~4 J& b break;
( i, @2 x3 H' q$ c. @ }% T! f+ T6 n; @, U
}- V! N0 G+ U; U( F7 i
if(isLast)
+ c! u/ z! n5 \+ R1 Y4 y8 W( d. [ { l: l1 s% H. L, n3 P9 {/ V
if(debug)
# D/ {/ w2 {/ c8 \5 t) i8 t {/ w! P" e2 Y7 S/ `$ D4 |0 g
alert("last!!");) u% m' X8 D& a d# J
}3 l8 G0 C3 a+ D* C0 |& \
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. E9 m! e- A0 O5 H {7 X4 m4 ^5 U+ ~/ t/ P" I
orgNode.parentNode.removeChild(orgNode); 5 U6 J; n5 V% @7 |& o
}
& e3 g! ^; w7 d& W/ X( V8 f9 d }' y/ {0 q4 B( M8 m9 L. u6 S
else; o* E; q; u- H, l% P$ S; P
{
9 f; C. g. ~6 j& O! s if(debug)- \! w. H) _" Y2 ]# h; D8 s2 C
{
x3 x6 B8 J2 m5 ^ alert("compare color and parent bgcolor!");
0 y7 z, p2 u8 z' Q$ t' ^ }
4 b0 |8 K: c6 }3 c H4 A parentBgRGB=getRGB(parentBgColor);! e5 a+ `. ?/ E* R/ _
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
g8 l8 k2 E9 T; k8 D1 j5 W9 a {/ h& b9 W; A( i1 d+ @
orgNode.parentNode.removeChild(orgNode);
3 V4 W7 Z4 |# L, g }
8 m/ g: w0 C. ]& M }
9 Q8 N8 g7 u& c }
* E$ B# N7 A9 c/ ~0 i* k+ _ }# a1 V" |& f9 b9 x H/ V% t! X
}
3 [" y8 S; ?! w: H$ S* ?+ h2 [, C }
v) v! }2 ^3 c# }' k$ K ' {& P5 q4 c- O I3 ^; H ?
* W# M% X @. w! b6 L y6 E
var itemFrames = page.getElementsByTagName("frame");1 D' R# d3 G- l/ j' [4 H9 }
var itemiFrames = page.getElementsByTagName("iframe");% ?7 Q% | L+ v
3 O6 E7 w) Z5 r, C) s
var frame, iframe;. V9 G# Z [* Z5 y x
if (itemFrames.length > 0)1 m) t8 t8 \# v/ R/ Z) ~, q( V3 [' R
{
- P- @3 b* o8 M3 W* ~: ] for (var i = 0 ; i< itemFrames.length ; i++)
: E. V2 Y- o/ R4 ?; x4 D {
: @- @4 |. U B6 q frame = itemFrames.contentDocument;
' w& j$ \: w6 }& I/ J Z z) n this.RemoveHide(frame,objname);
( P3 @7 W2 m& G, I5 g }
( e1 W J6 d4 D }* Q; e4 D. Y6 S
if (itemiFrames.length > 0)
$ a4 i$ \$ A# Y1 D8 x {" E& A$ b# D K6 O' W
for (var i = 0 ; i < itemiFrames.length ; i++) ; J# U0 ^5 E: |* v: f5 \9 |( ~
{/ O# e* \; \$ C" H: ?% r& @
iframe = itemiFrames.contentDocument;
) B0 u8 K$ H9 `8 Z this.RemoveHide(iframe,objname); ! N2 X5 V7 F6 s0 C) Q# k. z
}, t# w E3 u- `$ ?* A. S6 H+ _: V
}
8 o; d" z ?$ B }
& v" `% i5 J& B, h2 E catch(e)4 k: L$ v8 ^) _# l+ l* H
{, Y' A) ~% ~2 Z: l4 V$ X: w" d7 |
if(debug)1 k! c! R3 y. {- Z5 l3 l" s
{0 k E8 s; z: V3 r+ @- c' R/ x
alert(e.message);
! Q3 N: |0 W( W- S8 Q& r }/ y% `* x( p Y! n B
}
% o5 p+ f, R* S }
3 X, @0 C. W8 n k8 V4 | 0 ]; J/ v. O+ k/ G. Z( ?/ u* E8 O
}
; r! m0 n, A. B8 S5 t$ ^: g( A2 u
. Q! o$ _2 l2 R! {function getRGB(colorString)( J. T8 P# \3 Z% A! Q# B
{8 ?2 C9 Q; ?- I' R) u
var RGB = new Array;' P$ i- j+ L/ E1 V. _! K$ a
var tempSting=colorString.substring(4,colorString.length-1);
) d9 }. D$ k& P' ~2 y3 O5 j& N/ y var tempArray=tempSting.split(",");
: r1 ~* q, ~/ t' o6 K6 T. n4 J
0 j {# K. @6 G8 Y# x2 X. N RGB[0]=parseInt(tempArray[0]);* M& G, A7 M1 N# k" `
RGB[1]=parseInt(tempArray[1]);
% Q/ U, ~+ F2 I( J" D4 e RGB[2]=parseInt(tempArray[2]);4 D- m: G- ~( [
7 v8 ?& m b: d( ]# l; u/ o
return RGB;4 M p! f. g: t% G# M1 j, ^& n; H
} M; r9 M9 L1 S N7 x
function keys(evt) & r0 d- E( }, W! \4 N) Z+ T% K
{
6 W$ Z. w" N! k2 p6 G4 H7 Z2 [0 J if(evt.ctrlKey && evt.keyCode=="81")
/ E8 G. c, B' M. t { ) H3 o$ g# i8 C$ m- z/ o) h' e( u
CleanHideObj.on(0,1);7 _0 Z; t, F7 N* T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# i- L* }0 G* m6 b1 [. t
+ N" z+ L2 m9 D% Y$ S }
3 o: S6 I$ R# Y9 F% U" Q# O }
3 l. N( f o# G, ]# C, [4 u" ` _. v5 {document.addEventListener('keydown', keys, false); + T% H8 p# i. v
GM_registerMenuCommand ('Clean Hide',; S/ Z4 e% s) z/ O
function(e){+ H4 s# c5 y l
CleanHideObj.on(0,1)" n# r# E# F" M2 z( w' o* u5 t8 l
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* y" i& g+ B7 ]1 i});
- r) c+ l1 \% a. O l8 E% i I |
评分
-
查看全部评分
|