|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. R; v {/ i" P! n$ ?, F8 P9 X
; \+ b( f, S) A: Q5 l. F5 ?- w火狐插件,用猴子9 O: x2 Y/ m5 `! R. U3 \; M
) {+ h" J) _% I
var debug=false; 7 X9 |# O. t( R0 V- j+ e4 T" v
var CleanHideObj=new CleanHideClass();1 g$ X; i7 T8 Y$ `7 ?* G) m1 g
. _4 Y$ i9 i, v
function CleanHideClass()
9 `& [# M3 S; |$ q) }9 \{ $ t4 C$ [0 I$ N
6 H) y! s. ~. L+ L
this.on=function(id,bMZ)
! w4 Z/ w3 V& Z2 _ {5 B* R. ] T* L v
0 h/ Y( Q c- {% g4 H; ]/ Q P* B, g
if(id == 0). {8 g- j# b) R6 ^
{: v/ W# I F% Z" s3 b
var page=/* document.getElementById("content").contentDocument */document; , t! _. v1 r- r' c2 R
this.RemoveHide(page,"span");; E" M2 I- C3 b# P# s, V/ F) y8 j# Y
this.RemoveHide(page,"font");: z% D3 r/ O( f2 T& A# Z+ i
this.RemoveHide(page,"div");$ }) e5 K* w# r. A1 E$ Q
this.RemoveHide(page,"p");
" G5 K$ }8 x7 L% N* ^ l1 E3 ?) h& S- x, v& c( L
}7 V5 ]: @+ Q/ x$ V5 Q" V4 s: y
6 G- w/ Z, U, K F5 G }5 L/ u+ D8 h$ @2 @" [" `( l
this.getobjstyle=function(node,prop)9 a0 O9 E# |7 a; Q6 Q$ E
{4 j. m6 i. M& G* T
try4 \3 L$ C5 K6 N) m7 c0 g9 k8 S
{9 `: H! f3 @- ]2 K+ k
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
? m9 ], o/ W3 F* ~$ j$ N' D }2 V# P( h1 \6 R9 `( N" L" A I0 x
catch(e)5 y2 m b6 O& i' z4 V
{
, o7 r/ q# f9 A( M if(debug)
9 a, v7 @$ M6 j4 C( n {
1 {( U- Y) y8 d& i alert(e.message);
7 Y2 k5 z& z+ [6 c3 } z }
* C6 U/ H8 o" [
" r2 w: P1 {9 D+ X return "200";. m1 ?: ~9 a' M% d2 o- b B
}- o/ G, \7 W2 S
}
% x4 U. _9 V, Q0 n" \; @5 ^: ~7 `* d 3 v0 l6 { Z/ ~, O" e) H0 T: V
this.RemoveHide=function(page,objname)
* h1 Q9 Z$ y) R: Q2 n" h9 X9 Q {) K! m& c4 j' }5 r
try
6 ?) v2 D8 e: X! T2 Q {
/ f4 F( M+ A( j, w8 B6 C0 } var minValue=15;; J' P. Y; g3 x' P. G5 \- m
var objs=page.getElementsByTagName(objname);
7 y) i7 v e y3 D: }. D8 Z. ]; G3 ^ E1 U9 b
if(objs.length == 0) ' O; t# q6 x/ E+ d9 J4 ~
{
( b7 _" Q/ M+ [+ x5 ? if(debug)
- t* e7 P* A3 X+ P: e {
; X8 j: O- A* `# J9 B ^/ U$ o. t alert("no object found!:"+objname);
2 \9 C, I, \0 w: Q }
0 t x8 F3 M4 n4 q: w }* `( ]3 L2 A3 u& A
else
$ K9 G: b% Q- {, j) f0 E {
1 ]" |! s9 p7 H6 \ 2 b5 {. |4 P7 P \4 j% n
for(var i=objs.length-1;i>=0;i--) 4 A6 d8 m3 i: l+ f C- T
{6 S# C& ^/ e \: J6 D0 L" z
var node=objs.item(i); , I2 M/ L2 Y( Q9 I4 ? g- B' j
# k# [" v' i5 n8 k
3 B3 C7 a2 A) R( w
if(this.getobjstyle(node,"display") == "none" ||* x! `2 \% ?' w
this.getobjstyle(node,"visibility") =="hidden" ||4 z. i! q& S$ K5 N+ C
parseInt(this.getobjstyle(node,"font-size")) == 0)
) W& @- [8 [: r1 H) W9 c {! [! j V4 J3 k, ?; I1 A& [
if(debug)
& V5 G A% a. _ ~" s; S3 F @6 A {
1 _5 {% ~2 u# v4 U+ r alert("remove invisiable!");/ K z1 _' @' h l
}
* Z: D6 ?: K# x$ u& p: ~0 ~3 F$ f1 M node.parentNode.removeChild(node);. ?' `/ {+ F1 ]6 l8 e
' M: G; {; ] c }" s# i: C5 V. M& I
else
% m7 W4 |* E+ u% j! G0 F {
8 l/ W8 P6 K1 f' F, q if(node.parentNode) , }1 J) W) D* f& h4 }" ?" C
{
7 E2 r2 B% E& _4 C var orgNode=node;" |" X. u |7 n3 f5 m$ P, ~/ K x- w
var orgColor=this.getobjstyle(orgNode,"color")0 G& O3 n& y, l& Q/ m! U; v
var orgRGB=getRGB(orgColor);
$ J% T" j' c r& Y! M- {
2 F2 X& f9 C8 K* J0 L, G var parentNode=node.parentNode
" ^* x* }3 v; Q- z, Z0 W var parentBgColor=this.getobjstyle(parentNode,"background-color");' V o% y! ~5 X' W' N5 A( B0 \( p \
7 V% H+ W3 [) S4 k* S var isLast=false;+ {" k- H7 g0 G* q% u* K, c# i
3 F' d$ q$ i5 I% j% o* [$ ^
while(parentBgColor == "transparent") ) @- i6 y, H/ |1 c& s" p
{
- j2 v9 g; z6 U
0 c7 J$ p6 ^2 Q1 c 3 L( S% @- m m [! v1 j
if(parentNode.parentNode == null)- i( L6 S% c$ J. n( e+ ?
{
0 G6 X1 a( `- J. P' A g isLast=true;2 A6 o6 }5 E$ O7 }
break;
- C* r9 N+ M+ ^0 v6 V }
, s5 A0 @$ X' J+ F; x; h1 A parentNode=parentNode.parentNode; Y3 p' }* N$ X/ H# A( O
parentBgColor=this.getobjstyle(parentNode,"background-color");
3 z" f4 F. {4 w! ~ X7 m* S" M: `- V" ^
( R; Z; N9 o0 ]+ s2 B& N( ~ if(parentBgColor != "transparent") ! ?* T# B$ D; l' U9 x t1 F. S
{( x: v4 X/ r% P r% s/ b( \
break; o% {2 ?- M) u2 z6 p6 g
}# _9 U3 g1 j" ~: G% c
}: ?! X1 X. h# `! N5 h4 s" x6 v4 r
if(isLast)
4 J9 M$ z3 N7 w0 f { |* F/ S. k, K/ x: @
if(debug)
* h0 T9 s& G# j+ x3 @, K0 ^! o! K {
$ G, [; M4 l8 `/ A) k8 Z alert("last!!");
8 ?1 i( r; ~. K }
2 R/ F c9 K" ?$ T a/ N if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 ^ |1 Y$ g. x( J# U8 V& M# M {' o- [: N& {' `% u( Y
orgNode.parentNode.removeChild(orgNode);
# l7 x9 s. q# y+ u: s8 w& q' M } }
8 I8 B' N; V4 H }& S9 ~/ R- g! _# L& }9 `
else
# d* M0 v" D- b" ~5 Z, K {1 L' N3 j+ ~! q, B9 L
if(debug)6 F/ a4 L2 V6 D, ]
{
" F. S z5 s& ^0 C! ?* U! r alert("compare color and parent bgcolor!");! j& z% t: c9 \% D v% P
}% X6 J; O: S. m' g
parentBgRGB=getRGB(parentBgColor);
8 K0 S( ~7 s0 m' u if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) H, y6 S, \8 E) x/ X- A
{
. U4 i3 P) ?, [, D; i orgNode.parentNode.removeChild(orgNode);
1 S7 T$ Y$ F. r! w; e% ^ }( S4 e! D8 ^0 \! z' K) x3 N. s4 l
}
& c6 O* C9 _( q: Y% f( R1 d }
, D8 ~/ b2 t9 a+ @, S# @ B }
1 r! x; K y) M: I7 g' e8 p }* j9 D9 o* P* `4 p
}
, q( o0 X; Z3 x9 w6 {; ~( R : {0 o V% n! R
1 [3 i9 C/ @! I' s7 E4 r; z7 f6 y var itemFrames = page.getElementsByTagName("frame");2 E! D, x, b: S/ s
var itemiFrames = page.getElementsByTagName("iframe");
* U* Z: |0 p, `1 W! x( U & w5 N5 i8 s& a4 h
var frame, iframe;" @2 z% ?4 k, |8 n5 H7 d% `8 C
if (itemFrames.length > 0)
4 S d+ X* O: e8 u, y, d {
2 r. e+ \, f8 P' p2 [$ f5 z! n for (var i = 0 ; i< itemFrames.length ; i++) . ]1 k- {# `+ P, [; Q p% u
{+ Z% B! D8 G( e: f! r' n
frame = itemFrames.contentDocument;
. L0 ^) j8 e2 N& }% l this.RemoveHide(frame,objname); 1 ^3 \) _7 r# ~$ f5 c f
}
1 R2 H6 i( A0 N" v) |9 g }. Y8 n! N! S. J! [& M
if (itemiFrames.length > 0)
" f1 j7 | [- j$ _5 l {) q" E0 ~: g! J) s$ l
for (var i = 0 ; i < itemiFrames.length ; i++)
$ @1 f/ a' g4 }! ~ {
( ^7 G& w- g2 _1 _3 }: n iframe = itemiFrames.contentDocument;
7 c7 l5 S. D0 F2 o, {1 _- P this.RemoveHide(iframe,objname); 6 Z, f7 y _8 K( s( V
}% m/ i3 {5 F+ b* G V
}
1 [1 \0 D! p" I+ p( m( ? }
% Z l5 b( @+ `9 f# H% C catch(e): w; y$ Z- U& V
{
# P# l& F1 Y: X. e, X- Y if(debug)
5 B% [2 ?1 ?4 o! r) j) ] {
9 L1 l- }$ z4 L: A1 Q alert(e.message);
# q$ X; P1 D# _! L, j }
- N# ~" a1 u' x p& D }
8 y. n& r3 p: }* u( G, z }
7 P9 c# [$ c) `9 f7 } g4 ?, C- x. i
}5 ?% i9 \( a+ K0 Q( K/ {+ |
9 [3 A0 j" o& N8 V& q- {7 t( efunction getRGB(colorString)0 F+ n( v9 @* R; ^. G. c9 |
{
) a* E/ X6 n2 E var RGB = new Array;
& i$ @& H; w5 u8 _. V7 H! P var tempSting=colorString.substring(4,colorString.length-1);/ n1 ^' q; @ R! d
var tempArray=tempSting.split(",");3 U5 \5 n; i1 A! H+ B: Q4 t
1 q# B, ]. n% ?# z6 }- \
RGB[0]=parseInt(tempArray[0]);' g; Z, o/ c, \/ W/ S# n
RGB[1]=parseInt(tempArray[1]);. M W& l8 j, X) v
RGB[2]=parseInt(tempArray[2]);
* w* ~1 ^4 Q9 r: R; c" X 8 T7 H+ a# Z. Z5 e3 b. `7 `& E
return RGB;
6 s' V5 L: N6 d) P5 `9 f}( l' j; p0 J) j# ^2 O
function keys(evt) : f5 Y( E0 C' H, Q- W
{
5 H; P0 h1 E$ J8 \: ]7 P, J if(evt.ctrlKey && evt.keyCode=="81") * ~# F+ O& ^6 A& C" e
{
4 ~+ V2 V. `: U% P& S% b: W4 {% h CleanHideObj.on(0,1);
0 } L- w, ]( H* v$ i8 l alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. r# c" C: O: T; u5 _ 0 i2 H" ?6 s# L5 `6 y
} ! X! Y) v; f) R# c: W! u% x0 X- }
}
: V2 ?- ~. ?1 K6 d) q( Kdocument.addEventListener('keydown', keys, false); 9 W( j* G# W+ j, B2 v j; K7 j
GM_registerMenuCommand ('Clean Hide',
* K. _1 @9 z& f# Efunction(e){$ P! _+ T3 N( i i0 D) J
CleanHideObj.on(0,1)
/ t) ]& K& G2 j- d6 R1 q0 N3 y5 jalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 E+ H. \4 R# D# ? S
});
+ T( ^& n6 X4 @. J$ D |
评分
-
查看全部评分
|