|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) }7 @" }5 ~' U6 Y
4 J9 P" N- w6 J0 n火狐插件,用猴子5 d B8 Z: i3 n) X
/ I. t6 z7 `* T9 nvar debug=false; 5 e- b) K. A/ y( o% F9 m
var CleanHideObj=new CleanHideClass();# q, D8 j- O/ a
; p5 p* r. D# N0 u! o; v/ b$ xfunction CleanHideClass() , p" ~& X9 ^& ^* }$ M |
{
, T% ^9 z! P8 g5 b: F" B 7 a# n: |! r; I& _
this.on=function(id,bMZ)0 y( L) d& c% `! c! b
{6 R( C# j3 H# K
* d0 k( m' s0 j, H# w0 i- A' C9 V/ ` if(id == 0) H8 j g, [% v& A5 y" W
{
+ d7 B) m+ p- }, H* } var page=/* document.getElementById("content").contentDocument */document; + v" B z8 m: s2 O7 U: ]1 m
this.RemoveHide(page,"span");
" v. R7 R7 ^7 l: F% q this.RemoveHide(page,"font");! G" I" v# C0 e) w9 r3 b- ?0 c
this.RemoveHide(page,"div");
' E3 v) D( W' ^5 V2 \2 [ this.RemoveHide(page,"p");# S$ Q7 [$ e5 x
! F" B9 m5 @3 q }. R# _
}; C" v& E% @" V; s2 e
* K3 R2 h$ s& @9 }! ~( k }
1 P* x0 V4 u {1 w4 K- ^ this.getobjstyle=function(node,prop)
- ], @3 x2 ~; E2 G: y) n- o4 R {. h$ C/ b% X% `3 X* V% W% x
try2 n' [. N4 j# v6 t, {' K1 Q7 s
{
( \ q1 E6 ~0 X return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
* k1 f& y8 f% _ }, {) X V6 Z$ l- S
catch(e)# R$ ~; q0 f7 F+ |5 c
{
1 X: g- A# T* P2 O- v0 g3 A if(debug)! v3 _& I6 W" ^* I% V
{0 C6 j* \( c% V+ R& j/ |% Z( W
alert(e.message);
2 {/ B: T. A7 g1 i }; j. t$ v0 ~& i* _9 |
; ~2 q4 b! s# g1 Q1 X' w
return "200";
6 {: M% ]+ g7 ?6 j$ g; _$ @ }( U; M8 I0 m+ i7 Q4 a: q
}
$ K! k7 |" A9 K+ ^% y; ~4 P
/ Y g* W7 n" G$ G this.RemoveHide=function(page,objname)# r4 z0 e y5 P! x
{5 f0 T1 P8 c7 E& ?2 Y
try
" m: {! G4 z5 V3 _& _; v: N4 a0 k6 C {, w5 p2 a1 G! Y) s; K. P
var minValue=15;
1 g2 ~* Y6 ?5 C. S var objs=page.getElementsByTagName(objname);
& a+ n$ X$ {6 Q3 v+ d! T. V: Z% G! X; d0 R7 }' s
if(objs.length == 0)
, t1 n1 K) ~9 B! y {
/ N6 \4 ]; {) A* ~ if(debug)
: ^) K, G( o* \+ R- ]- j {( S% T: p+ T' W4 H. s
alert("no object found!:"+objname);. i& H; A3 I) a7 D& q
}
# K; i: y0 W: p0 u) @5 W, T% T }
& X* L: l, N" s. y' K else3 p7 f0 L6 z8 q' }6 _
{
9 e0 Q$ {6 ~0 l B* X* ]% f, X, f5 _! L t
for(var i=objs.length-1;i>=0;i--) 2 d" ]9 b# E# L) R0 h; ~8 v
{ E7 u K4 ?% N5 B* }& X; a, x
var node=objs.item(i);
+ E; J* ~) U( U% n; w
1 i0 C0 }9 H, \. `0 K" p Z0 z4 ~# K8 W7 s" P, g6 g
if(this.getobjstyle(node,"display") == "none" ||+ h7 T+ j' X+ i5 T4 D3 |& G
this.getobjstyle(node,"visibility") =="hidden" ||
* z5 r z& L2 Z9 e parseInt(this.getobjstyle(node,"font-size")) == 0) % C* w# C- N+ `- D
{
- w( t/ @4 D& E6 c5 L8 u if(debug)" @5 C( ^- r% |- N; a! u
{. x7 l8 K; g4 C% B- c
alert("remove invisiable!");
4 k2 I+ |! F; V% A- Q( ]: J) Q }
& Y7 M0 }/ Y: B node.parentNode.removeChild(node);+ S2 U. Y5 e9 }8 t, v o
% H& s/ V! m' Y7 P" m }
: g1 ^- g- H) s else ( L2 R- t- ]3 Y; r/ \) p4 k0 r
{3 B4 E/ e5 z$ X, v
if(node.parentNode)
0 d) ?. M1 Z5 N: f {, E, i, I: c; e$ G
var orgNode=node;
; v6 {) ~2 c3 D% q7 S# v0 S var orgColor=this.getobjstyle(orgNode,"color")
- _2 S( h; i$ K3 S var orgRGB=getRGB(orgColor);
& C1 d. b ~$ s, x9 z* `4 B ' N3 a7 r( o: f4 R
var parentNode=node.parentNode5 x- i5 [8 x! M; _& ?
var parentBgColor=this.getobjstyle(parentNode,"background-color");
4 Q: A9 n7 S' J* n& v
8 k: g- Z: V6 s! Y( T. v var isLast=false;
0 ~: g% L# m, `; p- Z+ e2 T* P9 X ( n* W. J+ F0 f1 z$ R9 \" T
while(parentBgColor == "transparent")
0 M; ^$ G( k7 Y2 ]' A {/ j* e& z- x" M" i0 K
2 y- J5 s2 {7 G' x+ x 4 ?$ u$ s# w( J$ l( }5 f
if(parentNode.parentNode == null)
+ ~' W# o c/ v2 D( ~' V( B {( J! {: p0 ^6 V/ [. u
isLast=true;
6 d- _) I) B# { break;
" k$ _, a* R! K( T4 J7 m5 G/ T }1 |& O, \1 c& f$ {$ b1 \$ J4 m9 X
parentNode=parentNode.parentNode;
7 X( e/ e/ L" M( H8 l6 U" G0 l0 X parentBgColor=this.getobjstyle(parentNode,"background-color");( a n2 M0 Q* x! I. @
/ N; {3 U+ e& m0 ]. o, B% t# h+ m
if(parentBgColor != "transparent")
, o0 t: S8 \% s `( m. r9 ` {
/ k7 d8 C, T% k: W4 G# w" { break;
8 t z: l4 C4 f- f' u6 G9 R" W5 @ }4 ]/ w- e' c5 B6 u' S6 W
}+ `$ R& L# h4 F9 o
if(isLast)
0 T) k- ]# k o {
" y# t, e Q3 ^+ P& P# ?9 r if(debug)- ^# I( A% ^+ r+ u' V" Z( r4 @8 I4 x
{/ l4 y* _" u. c8 J0 f1 [6 f
alert("last!!");
- a4 A' Q! k6 f }4 u1 v# ~! g H0 g) F# n2 o8 l+ L. F! Q* E
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 o! m: T* S! {& }& ^
{+ @" t! ]: v8 n2 }4 {6 z/ b
orgNode.parentNode.removeChild(orgNode);
6 c$ l" u3 R/ `. V: u+ F2 _ }# v- H* N. S3 I$ ^: \
}
3 _* ?; Y1 |0 ^3 w% n( { else* Z) x" a% ]: q' S! d) \. _: t
{
; R0 B/ q4 S; T; z5 M% _ if(debug)2 n$ N" y7 d7 l) e% A
{
- e3 T o0 X; u6 q$ P alert("compare color and parent bgcolor!");. C) E% S$ f# ^. e4 C, i* C
}
3 e" ]5 V$ G' @) k! X* V parentBgRGB=getRGB(parentBgColor);; i/ L# z8 S' t& A5 s2 V6 `
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% ~) h) T6 K4 @& i2 b2 |
{
% h% L5 V! N5 {' v( S! ? orgNode.parentNode.removeChild(orgNode);
+ A. R4 a) i! `. |) G7 i }+ Y( m Z+ K4 k# h1 k& A: ]6 J
}
, t* W1 ?& A+ }1 k+ `( ] }% T6 u) T0 ~) N/ c) W
}
9 G y: p. D7 M$ S2 C4 T9 K }+ w4 C0 b% X% t: x8 ^% p4 \$ s1 Z2 @( B
}( Y: a5 v+ q9 Y; N, C
3 u1 f" ]) _2 e
" Q! b- _ o, S var itemFrames = page.getElementsByTagName("frame");! R$ z) r# o9 w8 N. c5 t* u- _* L
var itemiFrames = page.getElementsByTagName("iframe");4 l% y: i$ w& _ o& X/ D4 |
: V% I( L0 w1 N5 X: U( A var frame, iframe;1 @9 J0 h$ t \
if (itemFrames.length > 0)
2 ?8 [6 `8 l. r! F {
: X% o9 O) i! U for (var i = 0 ; i< itemFrames.length ; i++) . n6 M* b5 a9 o7 @, n( ^; s
{% ^2 k7 m! }7 l8 B0 @7 P
frame = itemFrames.contentDocument;5 g# t! [3 v, W/ s/ @# N
this.RemoveHide(frame,objname); 6 r# }0 j% M) j1 {# M
}2 s1 I6 ^+ A3 u
}# C g4 t; k5 y! [1 B
if (itemiFrames.length > 0)
, a! i- B$ q5 q8 e N8 g {' L: `# B. z5 F E" f- D% U
for (var i = 0 ; i < itemiFrames.length ; i++)
8 s, a- d( l9 Q7 x0 b9 P {
( `0 B- d$ W P iframe = itemiFrames.contentDocument;
) ^2 J" i: k% `+ y3 J, u this.RemoveHide(iframe,objname);
8 D8 b* [- W9 ^" n4 P }
% p0 x) i, i' ]) E7 ?' i }2 Y2 o6 P$ T$ |0 m% D
}
/ ?! e" b2 r; N: a/ ? catch(e)
1 Q( S( I/ ~( z# H' A* M- Q { v3 {. S( W3 s# _3 \7 v2 y3 Y
if(debug)
( W3 S0 ~1 {: @: v {* A: H& z* R9 }
alert(e.message);. @$ y J. C* S7 E
}
7 q( q) R4 Q7 g4 O4 |# v/ m" _2 H }/ D3 t4 A9 h a4 l3 h& a1 } A. R
}2 J: `. V( ^" \1 @
4 q' W; m8 S: K2 U( r
}
1 S8 e7 `- I$ {% w$ }
9 x' F/ D9 F5 |( \5 ffunction getRGB(colorString)- }2 H. R" r. g5 T# P1 M
{
* J+ ]. O' c# j; c' Z4 n. X3 h var RGB = new Array;
; ?/ P. x4 v3 A$ t# d0 n n [ var tempSting=colorString.substring(4,colorString.length-1);2 [$ ?' ?, F) [$ ]
var tempArray=tempSting.split(",");: \- P9 @* ]# [7 v+ s
1 b- d- O% O) n; ?3 j7 U- l
RGB[0]=parseInt(tempArray[0]);3 k8 _ i( b$ v
RGB[1]=parseInt(tempArray[1]);
+ L" B4 C6 X$ N# Z( W RGB[2]=parseInt(tempArray[2]);
9 Q) i- {( b8 z: K+ N
- s% `5 Y" g. O/ M* @8 R8 B return RGB;
2 v* R9 O. W& T' g! A}) ^5 R( Z' `& n& k" T/ ]
function keys(evt)
& ?6 o5 w) V/ s9 Z8 ]: I6 r {
- Z6 _% H. E6 a4 S q4 ?* {6 ? if(evt.ctrlKey && evt.keyCode=="81") ; q- Q ?4 W5 s+ B4 G3 p# g$ w
{
$ V$ n, Z6 v! C6 G4 z% h: I CleanHideObj.on(0,1);
' w3 D [( k2 g alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
R- Z z3 n3 I ! t/ y3 L% x9 c/ P4 S
}
. f& _0 `5 j+ Q" h( f } 6 a0 u6 }) @; J' C1 l
document.addEventListener('keydown', keys, false);
3 a" p, C1 o# o, q$ I. }GM_registerMenuCommand ('Clean Hide',' z0 |* u9 P& I) d8 O
function(e){! I' ^0 n0 b8 N3 p
CleanHideObj.on(0,1)
/ n Y& _7 I1 j: S$ _alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, \2 a( ]$ n9 L
});% ?" k8 G9 B4 d# m6 x4 z- x
|
评分
-
查看全部评分
|