|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 D: }+ C8 E! z" J0 q. ^/ R
5 i" M. q3 c4 C$ `3 w4 C火狐插件,用猴子
( s5 Q/ W, f3 N2 D% R" D' {2 a9 ~' F; S9 D4 X8 z5 f
var debug=false;
: ~6 N2 D: `, \+ k* g* hvar CleanHideObj=new CleanHideClass();( h+ |8 ^" L4 f* p
# p6 X8 c8 d7 O6 t3 ~# v% q; C! ^function CleanHideClass()
- a& ]: h. Y- M0 d& J# j& m8 N{ 4 V7 d8 B ^6 v0 U; q
* s; W; u/ r, M5 f0 I6 i this.on=function(id,bMZ)
3 ^) |9 b! R6 ^ ?0 U3 K {
* a$ z4 k" t: L! d o ; W5 l3 b3 p& z/ _9 P! i
if(id == 0)
, Y8 J. A' }3 }4 [, | {, B/ s7 x5 L8 |, T0 Q& u
var page=/* document.getElementById("content").contentDocument */document;
6 r- X" t; t6 z; O4 t) d5 O this.RemoveHide(page,"span");3 N7 G" S8 o( o8 o0 C% D1 `& ]
this.RemoveHide(page,"font");4 W5 s$ Z6 c- P0 B* \
this.RemoveHide(page,"div");9 e c" ]% q2 a" N) ^/ [* Z
this.RemoveHide(page,"p");
# d1 `- t+ o! W; n
& Q9 S$ k8 q) ~' J0 \; X }
4 H* ~) F/ P% Y" R
7 E3 W3 V* V- M; x9 C! ^ }
8 d! c% K: t$ t c# q this.getobjstyle=function(node,prop)
" ]4 c9 s9 r; j {3 R% R% y1 x. j- t6 p8 ?% u' P. `- a
try5 L9 I0 p: m+ [6 ~/ D7 X6 Z3 [4 w9 G
{. V# `& G! e( n: G
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);! [& s9 U1 c, O- [
}4 c6 P2 S0 \. t9 b& [ x
catch(e)
9 q$ L# F3 w0 P {: O, Y# V: q: c- R. _2 c- t2 w
if(debug)
2 k( q4 \# n* A n" s {* b2 p& @/ G3 G( q
alert(e.message);
" `8 M6 A6 |: b. ?# O+ D$ f }5 E: u4 O3 o9 v. R1 g( E
5 Q* p; T5 J! A- M# l* p
return "200";
1 L" Z) j* q8 v) I& @ }- @: t& |; O* \, S8 Y5 {
}
8 C4 f" M# Y8 Q1 P
8 `. b0 O& b+ S: ]3 @5 g this.RemoveHide=function(page,objname): J2 y* ?1 B7 W* N& c
{' f3 j+ ]& y* V j
try& ~: |/ t! X; h$ W' o7 W
{/ @# H8 R8 b$ v" b3 {
var minValue=15; S- A( t- |* L( ]0 Y" v: m% P
var objs=page.getElementsByTagName(objname);
8 h# Y8 h: N# V3 ?9 q5 F
/ a5 z2 Y/ {5 s) v( a/ N9 X if(objs.length == 0) $ O/ c$ X; V% G
{
2 ^& K# q; l, d& D5 W if(debug)2 K% e6 w6 V8 c) [& K* j8 C
{2 h& G6 x1 u1 \2 s v9 k
alert("no object found!:"+objname);0 w, ]1 E- l1 ^! v7 G
}
W) X9 p- l/ g" | }' p5 h: l( j' R. A2 C9 \ h0 ^/ E
else
8 v5 y, l) G3 W* g. Y g7 Q {
* U, a9 N! K$ M3 |' N, p
* S. c3 i0 L! |# E, O+ ? for(var i=objs.length-1;i>=0;i--)
: W8 H3 o4 |, }3 O0 S9 F: N {' a/ x* Q8 j3 t6 \9 n- G7 J4 ]
var node=objs.item(i); 2 W+ D1 O& d1 K6 B5 p( y0 S
! ]7 l8 |& x Y
& @! ]% q3 b; i/ B( c9 M' ^! @ if(this.getobjstyle(node,"display") == "none" ||
! M& z' J2 f* Q4 v0 ` this.getobjstyle(node,"visibility") =="hidden" || O8 W( A9 C( w
parseInt(this.getobjstyle(node,"font-size")) == 0) 0 ~ K }7 @" F+ r0 y2 W
{
# j# g0 m, c9 r1 `+ @% t( ~ if(debug)
1 v! m8 O& ~! R# Q! T& f/ O {
/ A1 [% Z( ~) \$ Y8 t( z alert("remove invisiable!");
, a$ q6 Y" U: d- W7 U- L: [ }0 l$ k# N+ }2 }" o+ s2 _9 d
node.parentNode.removeChild(node);2 ^5 n9 j5 P ~( o' e) s5 [/ m
' C5 H t: T* `3 E; }) h- D
}
+ `* ~9 X& H- t# K0 K else
3 M# h9 }2 q& ~ {
! h _" q$ g1 ]8 P. p$ i if(node.parentNode) , A- G4 v0 {' ~7 R% B
{; p% c0 R: ]: c3 Y
var orgNode=node;
1 K; X0 a2 \. a- f' Z6 S var orgColor=this.getobjstyle(orgNode,"color")6 y s8 @# V: {
var orgRGB=getRGB(orgColor);
' p+ d: e* T. M- B2 @1 c
/ ~* N: Y, o7 t8 ]: E var parentNode=node.parentNode
# j6 R8 X9 @# K2 S1 K) B var parentBgColor=this.getobjstyle(parentNode,"background-color");/ y# u, |- e, k( D/ u7 X+ i0 D
- J; Y5 D5 h! Y5 B: x! E5 s
var isLast=false;* r+ R) L$ @' V( g9 {" ]
; G+ f1 N1 L8 W; M( [# _5 Z
while(parentBgColor == "transparent") 9 Y. K: `% O2 A9 H1 ]- Y. K
{
$ e" u2 L7 w3 K) m
$ m+ N. u2 L2 ~* r$ r S ) s1 T0 [& Z) {4 X- @
if(parentNode.parentNode == null)3 X( m& i8 _* h6 O& w
{
1 {( f8 g1 p$ d0 t8 R isLast=true;3 K0 K/ N. {& @% R+ q% k% [, P
break;
3 k5 Z* D5 N. v5 Y5 x( l7 g8 V }- n F2 q6 c( S/ C( u: f( R% @6 Q
parentNode=parentNode.parentNode;
! ^7 Q* k6 i* ^( L u4 X$ Y parentBgColor=this.getobjstyle(parentNode,"background-color");" W3 l9 O- ^! l
: H- r3 q& G4 V: I" h) i if(parentBgColor != "transparent")
0 Z$ n9 K6 c6 ^! E" G {
l: p9 i$ G# y9 M# k/ S) q break;
! }. D' D! o% t/ v+ q; W% P }. A9 @/ A' j0 s! N5 K
}- }7 m8 @7 _3 H( f) J: _
if(isLast) 4 }4 j6 |& j8 T
{0 q$ ^4 S& Z3 c
if(debug)
; ?# N5 E# a; B, B; y( ^6 T {; [$ j4 ]* \5 ` H' V: R
alert("last!!");9 E. y* O( `9 ~2 Q) Y0 a0 y
}# f6 H* |; f$ Y) W M( I: v7 o( w
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& [0 Z! V0 k t
{8 l3 z2 D, j8 t3 v1 e0 |4 a
orgNode.parentNode.removeChild(orgNode); , b# v- ?- ]6 W$ g& t2 ? m: n. M
}
) _, K. d( U) l8 H ` H: t0 ^" v }, c3 Y8 ~3 V( q' h$ h; S" K X( z: W
else1 p3 U* X" l) d! X) V- C, a
{
) j& {. g5 H/ o& F& _& M v% k if(debug)3 F4 p+ e0 g; Z# Y
{& I* z$ Z+ e; L3 H/ k
alert("compare color and parent bgcolor!");
$ S, W* ~: k) m8 R& f# z& i2 h }
( }$ e+ |7 n; X. l! o9 p5 e7 v parentBgRGB=getRGB(parentBgColor);! I) }& k7 ]1 e j+ j
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 W7 g' `' v. r1 B
{
+ Q' L5 h, {4 E+ w+ V- I orgNode.parentNode.removeChild(orgNode);
4 [- s1 |4 [9 S. C6 [ }3 @- h3 {% {3 g
}/ U/ x6 \, |( Q- F. p( {
}) i0 E& [" B+ X* A$ S7 b
}7 T0 f) {, x" n) K$ ^3 s$ g' S
}
- a8 M" n6 O5 U }4 k& c! @& q0 n
, g1 u6 W* _8 W& F/ L4 V; Q
4 _3 w' r, w7 b. J
var itemFrames = page.getElementsByTagName("frame");
/ n) b6 g3 h# _* @ var itemiFrames = page.getElementsByTagName("iframe");# \+ r9 p1 v3 Y" W/ L/ C8 U% C
1 l+ W5 Z' }4 c5 @1 K" m4 t
var frame, iframe;5 m3 z* U2 |0 P/ g
if (itemFrames.length > 0)# A V) W$ }4 M5 P0 s% d% z& v0 |
{
* A8 J1 V0 _- @) z& u w6 c for (var i = 0 ; i< itemFrames.length ; i++) ' s9 s8 p- c8 n5 Q3 ]3 f. D v
{
9 O* T. G: \( P frame = itemFrames.contentDocument;6 V( n) \5 k* a2 Z, g
this.RemoveHide(frame,objname);
& v, \4 O& y$ \% F; g0 x }6 K q: q: J4 l3 O% i% Y
}7 l3 j* C3 R. l$ Y- Y, w0 x
if (itemiFrames.length > 0)& Q0 @9 r" n9 `) w
{* m' w% X+ j1 E9 B: w8 ]: | O' g6 ^
for (var i = 0 ; i < itemiFrames.length ; i++) ) c0 a- Q# N- o- h: T
{
. R# c4 h3 A9 ^9 f; G iframe = itemiFrames.contentDocument;) J5 V" o( @. v* n
this.RemoveHide(iframe,objname); : }& \/ O7 C: t+ U- t
}' U2 ` l: h6 ~* A; Y
}
. o9 I. V! B4 f& h" W6 ^& Q; Z+ s' W }2 N! \0 A9 O) D9 U, d* ?
catch(e)
4 ]0 a! |7 e: D3 c# N( P+ Y1 o {
4 [; h4 D6 R, { if(debug)
- Z9 B5 I8 N# M/ W {* i9 C: q: p4 d( L+ D, l
alert(e.message);
. I3 {0 C1 w! Q" S) S F. p$ x }2 m" L# d5 {0 ?* n
}8 F" ~# t j* a% x
}
$ u- m' R+ O1 _: T 5 C7 D# m/ B3 s/ B0 A, @" B
}
; Q/ z1 P8 `3 _8 [
, O5 ^( M+ A* Q& ?( v3 yfunction getRGB(colorString)5 v* d. ?8 F* M+ Q
{1 {. ] B* v2 E( b& ^' C
var RGB = new Array;
+ z- C, |% k' r" H var tempSting=colorString.substring(4,colorString.length-1);& k6 F2 s+ \# P2 A& h. Q1 E8 C
var tempArray=tempSting.split(",");
/ o4 V6 [, C. B" O' U! R: u4 X6 G a
RGB[0]=parseInt(tempArray[0]);1 C* q# t! i6 {' \/ R& Y
RGB[1]=parseInt(tempArray[1]);5 K% {6 W: a, N+ R( e$ d
RGB[2]=parseInt(tempArray[2]);
9 s4 v) X8 D" I O" J! F4 i4 |* ` v6 b
' X2 X9 N( D" S- J7 @ return RGB;
: J8 s- L! ~- t. l8 b}6 V0 r6 g2 A! X2 H; j; j4 I: q
function keys(evt)
6 [' p. [; U0 X { : Y' s; \3 \5 }/ K' \
if(evt.ctrlKey && evt.keyCode=="81")
' r: T9 l, {' D( x+ Z { % i# E# U* [' \/ M; O4 v
CleanHideObj.on(0,1);$ N2 ~4 C9 v% l( L- G: }& L
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
U* X& R/ H$ }9 K$ H0 F0 ~ 9 a$ y1 M b+ E* u! O m9 S
} 9 L7 X: | G" S& h, e
}
' \) r6 h! [9 {document.addEventListener('keydown', keys, false);
& L1 s( e- @3 f, sGM_registerMenuCommand ('Clean Hide',
2 o9 V; f% s: H8 c" s2 `' {' Jfunction(e){1 ?: y2 l0 N" j- q2 V
CleanHideObj.on(0,1)
& `6 Z4 |: U) b4 F7 f/ Valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ Y4 y5 d a# l1 z) A' ~});8 O c0 m; @: @6 R8 o
|
评分
-
查看全部评分
|