|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) n; N" s1 V! j: ?+ K
F8 I T e }3 C1 P' {6 s
火狐插件,用猴子
7 B0 E0 j5 P( o! @2 o, y$ t: X3 F0 ~' C
var debug=false;
/ o2 x# N/ O `1 w! Z- M7 ^6 evar CleanHideObj=new CleanHideClass();6 r5 p' D- T5 _6 o( o H# P
5 `( ?5 }0 _) O3 q( u/ `2 Ofunction CleanHideClass()
3 E. a7 v: E* q! g/ A{ 5 {9 k$ C; J2 k8 x9 u) j
& C0 b: T/ F+ G
this.on=function(id,bMZ)2 i7 g# k! k T, e$ [
{
5 _5 i1 ~! l. ~2 L. g2 Q - @: w- I! W" ^+ ]! }
if(id == 0)
; b& Z. G v3 ^ j0 E& s, p% H {
3 ?' {; n& h) l9 o+ R5 P6 x7 e$ l var page=/* document.getElementById("content").contentDocument */document; 0 v* T( B) D3 L
this.RemoveHide(page,"span");
* F, J, q3 l+ o4 O5 _ this.RemoveHide(page,"font");3 V% H+ P9 G) I; Y
this.RemoveHide(page,"div");
; ~4 @' U1 L' ~: z this.RemoveHide(page,"p");) ^+ C/ _ {1 I1 y k3 ]
/ A# G- {3 G, b( U7 c( B6 \; {: s
}
' b) n: d. f$ c9 h7 n V
, U. C3 R. r/ I: j+ b0 R3 a- Q& y }( n& N0 z+ O6 L2 C2 o# O
this.getobjstyle=function(node,prop)" {1 K/ |6 o1 u' |/ j; l
{1 Q) S# _% k3 p K$ ~
try
$ W V6 f/ V4 a {( L! c, r. p" N2 T" {
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' ^$ g- N+ V$ D6 d, Y
}
: Z1 U9 u/ N2 i7 ]5 g catch(e)
2 }5 L* j/ C: s9 } {! J2 T* J$ A/ E' k8 C
if(debug)
. Z9 _/ l6 k7 m+ @* Y5 g/ C {- r% v7 [; u! y. G& f
alert(e.message);/ Q* z" b; ^* L0 f: m C! X2 ?
}
( L" G8 u1 s8 {1 u Q8 w7 ]
& l1 S$ D, B7 @* n; z return "200";5 p$ P0 _3 `; |- J$ K( D, N
}% w7 f* i6 r9 }" e1 W
}
& a' L6 M! |& q1 a- S' s% T$ U
: ^, H8 Q; x; _% G" P% } this.RemoveHide=function(page,objname)
/ P f) h% s% J6 ?7 f: j {
5 C! i: c8 G/ z& I try
: M' X* x( [- _* b+ ]% ]( j {" ?" H6 G( j; C9 k. u$ F
var minValue=15;
. g1 {. E* V: q9 E7 \- B var objs=page.getElementsByTagName(objname); + l2 t9 T) e9 n
9 ?1 q/ ^2 r1 q- V1 y
if(objs.length == 0)
6 Q3 a1 l+ _( ^2 l4 o, ^3 r {
& E2 G2 s( A2 t) h if(debug)
( `5 p" P$ p( Y/ s! U$ s7 A" x8 B {
, T( C5 q2 C, |8 n alert("no object found!:"+objname);4 G/ }! O7 V# Y n4 w* ?
}( m$ s, a; f4 n- ?& W# F
}
0 F$ }1 y# j5 M& Z! ^+ H else
/ @/ z6 _ ]/ x9 Y9 {. Q {
0 O0 t. M1 l R
+ j- l8 A1 R6 d9 ?3 x4 T/ _ for(var i=objs.length-1;i>=0;i--) + `, ? |0 Q0 ?* @5 F: ?" H
{
( i' m! d6 P) }# w var node=objs.item(i); " R0 I, N7 d; g' \
9 F. _- ]) h' K* _: R$ M/ `
7 t- `; A7 T4 J3 J if(this.getobjstyle(node,"display") == "none" ||
: z2 r. ]6 W: t5 m, ~2 `% C this.getobjstyle(node,"visibility") =="hidden" ||
2 u0 V: e+ c$ J0 A5 e; O% q parseInt(this.getobjstyle(node,"font-size")) == 0) 9 m/ g4 O# c) |+ P8 \" x. Q& i
{. a1 U$ E3 Y7 T, S
if(debug)' ^5 m( c- V4 t3 O( f7 ?& H. f
{
, E8 _- N t4 m alert("remove invisiable!");+ ~( n. a0 @$ j5 m6 [. ^& \ o$ l% u
}
' ]4 r+ V6 W# ~2 R& m node.parentNode.removeChild(node);
& l* e4 T/ C) h6 h9 l& G( I8 Q
3 i1 E# {" L3 E0 e5 c$ O/ n }
8 D: n V+ B7 e" [% D# e else 0 }# h5 z7 T3 a% ~- G
{$ ~$ ?" Q# Z( v% X* u6 J" j# z
if(node.parentNode)
" D, F. T/ }% B+ I i5 C {
- ]- X) v7 @1 z var orgNode=node;
, ^/ w7 Z' B! L- l% ]8 F" J! z var orgColor=this.getobjstyle(orgNode,"color")2 c$ S) X( p, O0 s" ]4 K' C6 X3 A
var orgRGB=getRGB(orgColor);
; F$ N; _* z6 r8 y2 U2 K9 l: C
. S9 T! g5 C- I8 d% U6 N8 H6 K- A5 g var parentNode=node.parentNode7 d& x% q, C/ t& c7 L2 J/ A
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 D/ ^9 N/ v* x/ N q. \+ D ' e# M# l; u" B6 ]
var isLast=false;3 Q) ~! b+ _4 \3 Z4 Z
. L/ D) E) j- P5 |0 K0 s
while(parentBgColor == "transparent")
% {4 \4 H/ ?; x) { n7 L {
8 k/ N! {# L3 [/ g1 Z3 Q0 { 8 @5 @) ^, ^* ^! u; \
" d1 f, G0 w7 ]/ n# I if(parentNode.parentNode == null)5 p0 N/ d* h# f" s
{2 U6 H7 ~9 ?: @' j0 J9 v
isLast=true;
2 ?4 ~; m5 P' Q5 P/ o break;7 ~4 M2 T" ]& M5 _, H
}1 ]3 p) y: y, [ t2 B
parentNode=parentNode.parentNode;% C- P9 D% ]/ r' i
parentBgColor=this.getobjstyle(parentNode,"background-color");, H, g2 E8 O( v+ f2 n
- Z& l, V8 Y% _* B& x+ y
if(parentBgColor != "transparent") 4 J4 F& T. X1 e: p
{9 M& L- J$ A) H0 `0 I) |
break;
+ E2 Y/ c3 G/ A+ |4 k9 p }
9 J, }8 F% e+ p0 [% r# Y" B }
5 V* ]% _+ G( V8 V. |; f if(isLast) 8 B4 R6 P' z- Z' V- {( w% }
{6 D$ b9 P6 }) L; t' x2 I
if(debug)! B- c5 V, O# f
{5 A" b l6 Q3 z* R
alert("last!!");% } r/ E6 x0 E* D; R: g) p
}& s7 j; y* Y1 i! ^) @6 ~9 |" O# ~
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))3 B& h, T8 W1 j" U0 j6 G& S$ h) N
{$ s+ A! i l8 d2 y
orgNode.parentNode.removeChild(orgNode);
/ f/ Z& C/ C- w( I) e6 W# k# J2 H6 Z }8 p w \: m3 Z: {3 c+ M- A2 v
}
# Q7 C& A/ p" M3 }- j6 q else
$ E/ m/ p+ Z0 J {4 }- B) E& Y8 d" c4 Z
if(debug)
! V1 g8 B) m [+ l { {
- W5 Q2 V0 b' S! i4 C alert("compare color and parent bgcolor!");
; R: o( O. Q n1 z* T% \ ]6 j4 q9 Y }, T( z- A9 V' K+ ]3 U
parentBgRGB=getRGB(parentBgColor);: o2 c, m/ |. `7 ~. {; ]- s, e E4 C
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# }9 V' g+ ?# |; C3 J, w. N8 A {
: c2 g, O1 c8 |1 h3 G# t# O* y orgNode.parentNode.removeChild(orgNode); 5 G) p0 o: b3 I4 f5 u b2 u& G
}% }( D. V! a+ w, S7 H
}' \6 b0 i% A/ R& Y& |
}
3 p1 N, m+ K: M3 h7 ]# U }
. g9 a4 U$ v9 z* d, {3 h V0 w }
, k) {4 ?2 ]) V& z }6 n) k; E5 m8 W! t! R6 d' C( O
% ^' _5 g" r1 @$ X
" ^5 j! N, O7 q& [' w var itemFrames = page.getElementsByTagName("frame");& J# C$ T$ Y4 [ ]8 S _9 e0 K+ J' X
var itemiFrames = page.getElementsByTagName("iframe");9 o! H0 }& q9 Y
9 A! A: x# b) b, R var frame, iframe;, T& j6 K# _2 v# `4 D8 G
if (itemFrames.length > 0) B- L4 V' i9 S- _5 {
{! a0 A. E, I- Z' V( V s- v
for (var i = 0 ; i< itemFrames.length ; i++) , f2 R/ u4 O( f
{
% C0 ^+ z$ D+ s- A0 [ frame = itemFrames.contentDocument;
1 M8 P# I, l: d4 c+ K7 n } this.RemoveHide(frame,objname); - B" B8 t, M' i8 d( P& J/ J( Y
}
/ ~- \: j3 y5 a }
/ h# l) G* j5 b `. l. t/ Q if (itemiFrames.length > 0)
* [1 M1 O O4 [) R {, C$ p2 o% C) a- J/ Q% ^4 ]1 b- Z
for (var i = 0 ; i < itemiFrames.length ; i++) 3 t7 v# Y, M1 l( {/ p3 I
{5 U% a2 P. r/ \% S4 M5 Z t
iframe = itemiFrames.contentDocument;
8 M( R: c* e+ `1 M; S this.RemoveHide(iframe,objname); 7 Y; W( r+ r9 Y C- \, X! W1 O: u
}) p: `* C o: @0 q% l) F( e
}
0 z) U' P$ S O) D" u5 v- n0 |# M' T }$ m$ Z; m" P! y1 y
catch(e)
r. ` d4 p9 C8 c& x {1 p" W# k: r* a* @
if(debug)
2 t+ l0 B8 H. ]$ F, m6 o {6 N. w; u: y1 u0 R$ t+ i7 f- q
alert(e.message);
) }0 t) o0 Z! n% ]* R6 i# C }
' j4 E& [8 F0 ^) n& r+ u. T. R }& C- b! L1 \5 T( Y) U) \5 i' y! x/ {
}
* l& F/ k! b# y1 Q0 ^. r
; | `/ y( Q. f9 Y}# h" h4 O5 T- |: X# }8 n. s: z
% v7 T, r- S# ]: gfunction getRGB(colorString)6 y% `* ], j/ u. u& L; W
{4 n: }/ I; \1 Y( @8 n. l/ j
var RGB = new Array;
( v3 I1 |/ [0 s. i* n+ g& }1 p% E: \ var tempSting=colorString.substring(4,colorString.length-1);
& V% z: B \" _ var tempArray=tempSting.split(",");
% r7 D/ f" y4 ^" s* m, t5 `% `6 P' [( h, o* y" \
RGB[0]=parseInt(tempArray[0]);& j# u8 j6 M V- |- N
RGB[1]=parseInt(tempArray[1]);
: T, [; W( P/ T( `" e5 W5 ]1 X5 K RGB[2]=parseInt(tempArray[2]);
) |2 ^5 I, H& ~$ \
' r' \- u( y$ Q/ M. S6 g& K2 K return RGB;
0 B4 P4 V# A- e6 Z2 n6 c}, x; H) J# ^- b$ R2 D( O
function keys(evt)
8 M. ~+ Q+ y5 f5 z7 y9 c: f { : z* @9 w: ^' }8 f
if(evt.ctrlKey && evt.keyCode=="81") " `9 y4 H3 U* M
{ % R5 E) R6 N B+ A1 c
CleanHideObj.on(0,1);
2 r+ |' P2 X4 L6 g, i9 _$ U8 I alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" f w+ ?) ?6 L8 t! h+ u- k, k9 z) D 0 k9 A- m. y1 U4 X# v0 C1 x' b
} 1 y$ o7 Y0 W# N) e$ g
} ' e! H; r2 | y) y% n
document.addEventListener('keydown', keys, false);
, h4 a z' ]. ~GM_registerMenuCommand ('Clean Hide',
' h- ^$ g9 d$ D! l2 F. rfunction(e){
. A+ h- N8 W* V$ A8 h! |$ sCleanHideObj.on(0,1)
% p6 r( e7 j, u K9 u* jalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 T) L9 r+ Z- `, r( u q$ x});( w6 E; p- w ~& v
|
评分
-
查看全部评分
|