|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 p# ?6 @% S9 i7 f" V# n3 A2 M; I0 t; }& q! @9 G
火狐插件,用猴子
; G, {. ]0 \9 O/ o. M( }: L3 l2 C: @# g3 z+ X
var debug=false;
" d2 l9 _- m5 J4 K' Q$ }* h# vvar CleanHideObj=new CleanHideClass();" o* Q& c; \2 P9 K4 W k. |
+ w& M! @ a- g; X6 ?# Zfunction CleanHideClass() & F A* I% Z X s4 o
{ : t3 Y+ Q) J$ D2 v
; H, _0 B1 t% C; [
this.on=function(id,bMZ)6 c; A/ G7 v1 ~% T
{
! L' s4 k+ V% {4 U7 V : r4 j# {6 B$ T7 a5 w$ C4 W1 H
if(id == 0)
, w$ ?$ h, \6 ] F3 H7 h, y {, G0 F0 k4 i- E+ @$ L9 o
var page=/* document.getElementById("content").contentDocument */document; / V+ q: t1 a7 ?! R
this.RemoveHide(page,"span");
1 S5 }/ C, ]4 p1 } `- @! @# C this.RemoveHide(page,"font");0 E( _! S7 c5 U4 h, B7 A: m
this.RemoveHide(page,"div");) z+ \ i# c5 `" p
this.RemoveHide(page,"p");- f! m5 _' i7 f% r1 `5 X
e# O* i7 k+ F1 k2 H
}/ C+ m2 [! P; m) e
' m. \! O& Y2 ~7 a) E- b O9 A
}
# A, k% {' k9 h4 w- k! D5 |, s this.getobjstyle=function(node,prop)
: a+ Z- {5 D0 ? A% K* s {/ K7 l) M9 n# h+ v2 v
try/ }9 W S$ t1 Z3 Z8 r
{" V3 {- `7 N1 M% F+ u
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ B# n& w; z$ b# S
}" j/ A9 e% H- y" `
catch(e)) n$ j9 {9 I5 j% D4 z) I1 }7 ^
{% v1 u/ D; t0 p1 h3 Q
if(debug)8 B9 J* p# C5 r' V$ d2 q% p
{
5 f. c6 X9 Q* g+ M- f alert(e.message);' P$ K: k2 t1 E
}0 O% C: V A1 l \. j
3 Y# x8 U8 a! Y* A- R return "200";
0 Y! A% W/ `. V, o3 y( A2 u }9 D* g+ K) O# e0 x( S2 N! f- d
}! y& P- g4 N6 o- l" A: h P2 i; a
/ J, S! k% O% y$ i0 @% U7 f this.RemoveHide=function(page,objname)4 Q+ `! O6 s2 E Z6 q" X, E
{/ f7 f; i+ P; f( a8 |
try3 h: w: ^$ E) c) e3 r Z1 M2 L% _
{
! G I- v. p- i( P var minValue=15;4 x7 d. I9 y8 J
var objs=page.getElementsByTagName(objname); . C7 n5 r" k3 @4 ]
/ o6 c+ C) _: ` if(objs.length == 0) S$ j2 W% n" G/ Y7 u/ x
{
2 c+ ?! o, U& y8 A: z- ^ if(debug)' w9 O: Y% E/ S, p3 {/ o
{% `' Q8 L- c1 Z
alert("no object found!:"+objname);
* l Z1 |& F! V5 V5 i6 t3 [, @ }) H4 \. [& h, e
}
; H; `; J% g4 K, Z5 J else7 t I W! W3 y9 ~
{
! i2 p1 x- v3 H7 g" ` 8 t5 y; ~6 {$ n6 I
for(var i=objs.length-1;i>=0;i--) 4 h: k) d# P- D. @5 l, W
{2 k' ?2 O$ Y' X% ` ^
var node=objs.item(i); 0 D$ F3 e$ S4 p
" a- c# X3 R2 Z/ D' o
7 v& V& y& [4 W7 I6 m* X% \2 v if(this.getobjstyle(node,"display") == "none" ||6 ~# G- p" N1 o4 _% n
this.getobjstyle(node,"visibility") =="hidden" ||
3 F2 E4 j3 a' a8 ` } parseInt(this.getobjstyle(node,"font-size")) == 0) ) B" I+ Q) k% D2 z
{+ } o: ^1 Z8 u/ l6 S
if(debug)( U; ?* i1 ^. i" z9 `
{
. g0 f8 ~' Z* W4 h* o; ] alert("remove invisiable!");8 c, D: B* M% }/ B9 w% |9 y
}* z$ e6 _) t- B' ^. w
node.parentNode.removeChild(node);8 b0 E) \1 ^$ P
$ D+ f: r, s/ H& D7 A# _: ^4 O, |
}
) ]6 K" ~" M" P/ K( u else - k9 L6 p7 ]3 a2 i
{
0 [' K! i- ?9 n) s. r' A0 { if(node.parentNode)
3 D+ E/ d2 D+ M {
T( l+ V. F1 [0 k var orgNode=node;4 g2 R$ Y' H0 n0 H9 k
var orgColor=this.getobjstyle(orgNode,"color")0 |) A6 F7 g0 |" X( |( ^
var orgRGB=getRGB(orgColor);
) q7 O& L1 Z# B7 b( X/ T/ K # E/ x0 Z3 F( O3 c
var parentNode=node.parentNode$ b# ^$ o! X& y
var parentBgColor=this.getobjstyle(parentNode,"background-color");% W6 Y3 q# h7 K# A9 x- S; M
- c& v/ M/ H/ v4 i# y+ f3 o6 U var isLast=false;
2 g9 y3 U& t c/ N3 P0 v0 h 0 {; Y1 C+ }2 [2 {
while(parentBgColor == "transparent")
+ C6 b( b% h- m5 l {1 q( E' f/ u" s) N( ~$ k
# Y: H* H7 ?1 L( \
6 v/ {6 {# t* c if(parentNode.parentNode == null)# j/ j: B5 \2 r; j' H4 a
{0 D! t& X' U. e/ Y! L
isLast=true;% ~6 f5 ~- h; }' `* J: n
break;! V( J3 V6 `+ y; d4 Z
}
0 ~- P ~6 {; p3 ?/ L6 C* f parentNode=parentNode.parentNode;
& B6 r5 V+ m- ` parentBgColor=this.getobjstyle(parentNode,"background-color");1 H' F+ e% y Q, T* @, L" E
5 q; E* ?) }9 P
if(parentBgColor != "transparent")
4 N% H: \' Q2 j% h( P( J8 y {
5 @' [# I2 N$ ?5 l1 N1 E2 K: x# m/ \ break;3 m& O8 e! O5 c2 ~
}
" A' y# l* p7 ~" y8 e7 Y( Z }
. @# m+ R- X0 U7 k" n; d if(isLast)
8 ]$ Y0 e7 F' v4 D+ u$ { {
2 r. v3 ~* K3 Z: h7 y7 l0 t if(debug)
: ~# \; `7 L: V+ m! U1 r7 k {
) g# M: G, {- L& J4 v6 Z alert("last!!");: k1 a4 g* t/ L4 P% R
}) h6 l5 p7 R+ ]. ?" e
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* S3 P# M& U h4 M& L: G( a x; V
{
7 t( H" k) U# e# i5 U B, J orgNode.parentNode.removeChild(orgNode); 7 e2 x* S/ j5 i8 g3 S- }! g% [( R; r
}
0 J$ U, ~5 g" F8 Z3 M0 [/ s }9 K _, U% d& T6 K! x7 s+ ]
else; A! h, ?3 y6 k# K: D" g
{. y9 c/ {; e( g$ N) K
if(debug)( P: ?5 r, r+ F
{
6 M. D8 w6 |2 K alert("compare color and parent bgcolor!");" S0 i6 \" | y: C( H& y" g* C
}. V) l0 F, L- H0 U( ~7 i& Z
parentBgRGB=getRGB(parentBgColor);' ~. t* a* S0 q( R/ o6 N( \
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
5 Q& w' e* N9 @# ?: Z {
" Z/ \; ~6 q: m- [! E; C orgNode.parentNode.removeChild(orgNode); 6 i; z5 k6 p6 u$ D' r% y
}
3 F9 c$ u/ P' E5 S+ c" d; A/ _' i }' y: Q$ i+ m* \1 g1 v9 K( T: F
}
& f! H: R+ @( v* s }
P4 h: [! R3 U6 M }
g8 J7 M* [& V( z }% d& H9 }; U8 q1 | F+ e, J
9 ]0 v' l$ Y* i) I. X9 Q3 q
% C1 Y4 l# V6 M9 i var itemFrames = page.getElementsByTagName("frame");
2 {2 P! ?3 L, p% f( T var itemiFrames = page.getElementsByTagName("iframe");
; K1 h% L4 `- e. r8 h' Z* b ' o: z; [2 E, E9 P' Y
var frame, iframe; r% U: X2 q) P
if (itemFrames.length > 0)+ U2 S. M8 B3 V: `* \, j
{
9 E- h8 k. k! B for (var i = 0 ; i< itemFrames.length ; i++)
3 H/ A6 Q6 Z1 S: [: X {2 q" W# {& i9 d. g3 f5 C
frame = itemFrames.contentDocument;
% U. ?4 m; Y _ q2 }, g this.RemoveHide(frame,objname); : f; Z) b1 H: U) ]8 c
}
( i2 t) \0 [) h' i }
7 L" T6 ]- ?2 c* G if (itemiFrames.length > 0), i1 i+ ]7 C7 y& z
{
4 D3 r+ v: t3 e+ F1 K* Z for (var i = 0 ; i < itemiFrames.length ; i++) 3 k- j* y! d( g# a6 t/ j
{
* ?/ o* J% u8 S# K* N& N1 {9 C e iframe = itemiFrames.contentDocument;
# Q* | f; e% }) o7 U this.RemoveHide(iframe,objname);
. X* P; s! R7 z }, S8 h: i! g/ b7 g" \) t
} g8 ^$ I+ S$ ], i! k* k+ c3 M
}
. ]4 G f: |4 a: Y catch(e)
, T. ^0 U+ D6 P5 N( ]8 K3 y5 H% T {6 q v& E9 N7 Y. j) ?
if(debug)
. f( }% `" I. v: `2 a {9 v6 R" p# B' z. N* s Z1 B' n
alert(e.message);5 y# H8 W( V9 Y+ |. B
}
5 \ p5 _, q& M m }
% d0 g1 H2 G0 X/ P( ^' ^ }, \3 e" P4 J! N1 w4 p/ A, s3 J
+ k: Y, v8 [4 A, T}
' ?7 E3 H! b* p1 v8 t' L t+ P$ s9 ^" `
function getRGB(colorString); a2 q% l- V( X+ x3 z6 f* Q9 H
{1 p' A0 O" x# S" T
var RGB = new Array;$ t3 c' a& F1 k7 C; \$ U& s' ^
var tempSting=colorString.substring(4,colorString.length-1);
- e3 m8 ~: C. n var tempArray=tempSting.split(",");3 ]! p* e/ M0 @( _: R
3 \1 ?# h/ X+ U- I RGB[0]=parseInt(tempArray[0]);: F5 ]$ P2 F" {' Q/ R% h
RGB[1]=parseInt(tempArray[1]);) K) [& k0 ~; f9 A
RGB[2]=parseInt(tempArray[2]);$ b) P. A ?5 o( N; G0 y
9 x2 T' r$ c |+ L
return RGB;1 H+ y! Q4 _* L- {
}- v/ l+ U& ~5 `# S, w) f1 J" ?
function keys(evt) & M- W' y R! H" t$ P
{
X( C. ^( Y9 A% Z if(evt.ctrlKey && evt.keyCode=="81") $ e V$ W: ~6 j3 J; P! e/ S2 ?1 W
{ { h, Z9 s! f
CleanHideObj.on(0,1);
! o: J7 [/ W3 K5 D alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - F5 c* Y }1 i I4 b( s
/ Z- [/ \. {/ E: T, Z* J7 `6 w0 w }
/ M$ @0 T! s/ z* k( c( E: m }
1 T- s; n. h) [& wdocument.addEventListener('keydown', keys, false);
$ x9 {5 N5 ~: Z) HGM_registerMenuCommand ('Clean Hide',) a. I3 K3 G' X" c
function(e){- s# X$ h2 {; U2 L, x
CleanHideObj.on(0,1)7 F X. C; B4 | T7 T; k! i0 p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) Y5 N S$ e0 j8 J
});
3 B0 Q- x7 h% w# l |
评分
-
查看全部评分
|