|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) T2 q8 T! T) Q3 Y
# r; r: x# w" G/ H6 H2 f火狐插件,用猴子" `5 d3 e) }, r7 n
4 ^+ ]- p/ ]4 i9 }( W% N# d
var debug=false;
]5 `$ C4 ^& R! l" V. v0 o& a8 Tvar CleanHideObj=new CleanHideClass();# y* @7 m% G1 X+ B
# Z7 M3 ], C% i3 U5 C/ @function CleanHideClass()
4 s$ i, G2 P- ~9 G/ \2 N4 F! x; e/ ]{ + O3 s/ b: c' K# J% U$ V
/ s# Z: c! }" H& ] R! U
this.on=function(id,bMZ)! A5 v) o$ @8 X- @
{; k! B( r8 ^$ Q2 M! p; a# x: P; L
! M) H7 ]5 r& O9 L
if(id == 0)6 l, a- j$ h" W; D! y
{
* u. V* q* W* @) [ var page=/* document.getElementById("content").contentDocument */document;
. Y8 v7 }3 ^* c3 T1 h' u" t8 X this.RemoveHide(page,"span");
6 C& `# {0 p. U1 N this.RemoveHide(page,"font");
! l8 z5 ^1 J+ Z8 \6 V this.RemoveHide(page,"div");
$ e6 L7 N6 k& `( z) [ this.RemoveHide(page,"p"); s% g$ w ]: B
0 ^( ~) S7 u% l
}# ]9 ]+ j, B' D" \ n) |
& O, d4 y: x2 u e; u
}- c6 y( n9 J/ }7 O. d/ t
this.getobjstyle=function(node,prop)
$ ?+ D; }: ]2 R) x$ t# @ {8 G* L; U, M' s0 C7 [
try
3 ^% Y+ [( Y" S& G* i {
; b4 h8 o; l1 | s return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 Q* E$ d/ b4 Q }" L q: @* a5 K2 c) X' m3 M
catch(e)& R" @1 k, j: v- Z) \
{5 T/ x2 I3 L. A
if(debug)! Y, f% T/ V( k
{7 b% c% i3 ^, T4 a5 v& }+ Q/ q
alert(e.message);
; c7 y& p6 l2 h: w# U! b3 ~' \ }. ]0 P! H. G3 m! a5 l: d5 F! `
/ t! n; l% r( B3 O% O$ @8 a1 d. r return "200";
- ]0 J' j" x6 P8 j1 E; B- j. O }2 u4 h8 q* G8 E0 Z( y8 {$ C0 p& F
}) A) Y: D1 n3 }
7 U. ]. _6 K, b% t& C( Z2 @
this.RemoveHide=function(page,objname)
2 u* |9 _4 h* j+ T% k {& x, E N3 a5 ~
try
1 U1 R$ ?- c l( A" J {0 u( g# |" V. Q3 Y% u
var minValue=15;) p' Z% L8 E) m% A# T. {, u+ q$ d2 l* O2 Q
var objs=page.getElementsByTagName(objname); + t% D1 @5 W, s- y2 c3 c9 G2 M
/ S" `: I) v3 k# c$ @ if(objs.length == 0) 9 O/ r! U$ K4 K8 e' m4 L( b
{4 h+ w% s9 f8 P% j& \% x
if(debug)
! ^5 x; k1 _4 S4 F {
4 X2 z7 r! @" |2 x1 R" q alert("no object found!:"+objname);
+ a( y7 r& ^+ Z: X }( `. e2 g" [ h3 T, u$ Y- [/ H, `
}) E, `6 B4 j% P% e0 `) x! h, _( o
else
- A3 t0 p# n! ` {
7 V6 \: f7 n; F
8 G* }- R) T* @( E+ D) c for(var i=objs.length-1;i>=0;i--) , f& b9 X5 F0 U6 J( ~. h
{
/ r( B3 m; e5 I0 y6 I8 a var node=objs.item(i);
9 q2 s% t+ u; P8 ]
; B N3 t) T9 J3 I1 F
( A7 C1 s' j/ e1 P9 R if(this.getobjstyle(node,"display") == "none" ||
0 N+ k& ]3 B8 ~1 V6 R. M: h this.getobjstyle(node,"visibility") =="hidden" ||
( `1 [) p. N, c; G0 ^3 c parseInt(this.getobjstyle(node,"font-size")) == 0) 4 @+ d2 u+ A# d/ B0 N" S0 e. @
{
7 ~; \7 I& e1 U# x2 g" E if(debug) ~( c! y' J8 D
{
, G- _: q3 J }6 Z; O alert("remove invisiable!");
# o" R4 [5 i8 z6 n }
8 Q; C9 j4 o/ Q3 f; I4 L node.parentNode.removeChild(node);
9 R4 e. {* X. C; _5 u2 h& w# x
) K+ k5 g% j! S2 U/ t9 D }% n) \& C. U3 |! B/ t3 k/ r3 V. v
else . Q Q$ `; a: ^/ p8 {/ q0 f+ l$ K
{
3 W G3 D& ^# e6 o( } if(node.parentNode)
& ^7 ?$ V3 G9 z9 `2 [ {
8 [* F. v& y& x* ~& @ var orgNode=node;9 F7 d; e: z- I! U9 k+ n
var orgColor=this.getobjstyle(orgNode,"color")* k, z% B0 ]7 b' I: t" j& Z
var orgRGB=getRGB(orgColor);
2 ~7 U2 X5 B1 b4 |$ W I
/ r2 I9 B6 B' u" S% ?1 ] var parentNode=node.parentNode( y2 t" M% Z5 r, G- r
var parentBgColor=this.getobjstyle(parentNode,"background-color");
' A& G" E d+ ?; G3 z( `2 z. A; A $ B' n$ `( i7 r$ V8 Y% N8 i' t
var isLast=false;
7 F- Z3 l" \- X+ H' b* N4 ^
! s3 b9 e! J/ { while(parentBgColor == "transparent") 1 w$ B, s# M: ~4 ]
{
2 l. t; \5 n, Y ~% x
' z8 g4 K: u' F2 z . I9 l0 `& @. r5 F
if(parentNode.parentNode == null)8 I' t" e: v$ F5 J- c) p) ~# \
{* H, D$ b9 T& D/ {/ J3 L/ u
isLast=true;
- N/ {& C- r+ C2 O% J break;
1 C3 u; X/ P7 k: | }1 X, i4 [5 Q+ ]( R. ?4 Z
parentNode=parentNode.parentNode;5 u3 b7 v; C" t$ t* R4 A
parentBgColor=this.getobjstyle(parentNode,"background-color");
9 j& d0 K6 V. l s% Y& \3 X# k. G [. _0 i% H! ^) k5 G) d
if(parentBgColor != "transparent")
1 U4 E; O. r/ `. O4 S {! Z! |$ v: b6 K$ _
break;
. w. r0 o! ~+ ~9 J2 P3 u+ q }
1 a; ]4 B$ L4 l& f }7 i8 L8 s( A& q0 D
if(isLast)
+ n# R" X {8 g- k$ K# G7 k A: g {# c- @3 h! d {- B u
if(debug)
_4 i) J* ]3 m9 M9 B* L; H {
# g b/ b4 V( } t) f) E alert("last!!");3 a. C0 k+ R E6 c" L
} `" j# |4 X0 j9 b. D4 {& ~
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' h" v; J" b; {' n, I {' A8 h) }2 }+ L5 m4 z# _: U
orgNode.parentNode.removeChild(orgNode); ; W# o. R1 X0 B& {
}
' Z# g. ^4 N2 f }
) p1 A+ |! |* Z# c- S6 ?" K4 G else
2 m) q2 z' E* x, J: X9 ? {
" J+ T2 J7 o) w/ v# b2 o if(debug)
[% E' o8 d! d! h {8 M9 {3 s0 m1 l
alert("compare color and parent bgcolor!");
( I4 c% N6 @/ j3 Z2 \ }0 |* w% h5 a4 \
parentBgRGB=getRGB(parentBgColor);: J! L. m/ R3 M' b) l0 ]0 ]
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 `# l y+ \, B
{
' [. C7 _9 r5 l+ H orgNode.parentNode.removeChild(orgNode);
7 h. r4 G6 U2 Z }5 W. `& ]. P; l* O
}
' z/ E6 Z! v1 r" X; S) S6 E* T }
. v& W) Z( u# s9 r }
6 B) N. m5 G |& j; K" U$ z }
0 R# ] x. q0 R3 \1 Q }2 J, j; e- l$ I' c/ m, Z9 Y& u
0 G0 ^, J# @# t3 X
) d& n3 e' o8 u var itemFrames = page.getElementsByTagName("frame");
- X# z; `0 E+ V. I) u) ] var itemiFrames = page.getElementsByTagName("iframe"); o1 O( x. A* d1 C4 |! {( A
+ M- w" O+ e, D- X) v var frame, iframe;
7 S; t" B, H5 `! l if (itemFrames.length > 0)
6 y5 t5 `6 @ j1 g0 ^ _4 m {
^2 V* f' T6 G$ g- u# }2 d for (var i = 0 ; i< itemFrames.length ; i++)
: l- x5 M* ~+ e { Y( z! ~! J/ w! m& h
frame = itemFrames.contentDocument;" K6 \" C3 T0 N% r0 b0 H3 Q
this.RemoveHide(frame,objname);
( j% K' e& ^9 y4 Y8 i }
0 T2 f ?& M6 V# I }$ E) e' n3 E! l# l$ u: {8 E
if (itemiFrames.length > 0)+ ?8 h$ i; f; M, R
{0 b2 |# d% o! k0 [8 n
for (var i = 0 ; i < itemiFrames.length ; i++) 2 J0 x* Z" I c9 K$ h
{
' m a& R1 U% r8 h9 `, C9 X' ~& W iframe = itemiFrames.contentDocument;
6 T0 U# M% p9 J# V4 i7 g. _ this.RemoveHide(iframe,objname); ( }8 f% h3 E* {6 p
}
# r8 L3 a, G' I6 R; j1 Q; z }
* h% t) U6 W+ w# K! n }" L% a; O" W( q+ |* }% |
catch(e); m# {5 E0 V1 \& e+ h+ V7 _- g3 q- K: j
{. N$ w9 W9 y( i, @! O; Q: F2 u
if(debug)( P! }# }: u! m
{$ W% ^0 c% i/ g
alert(e.message);
( ]) q/ C- k' r7 y3 \; e }
: s4 l4 y9 \9 k8 }/ _ }! ~; [7 k4 E4 _, Q
}
+ U' @) B. d7 o9 H- [/ G* h
: {- b4 J# h( {) W8 x}
8 @3 b$ s) k2 l3 ~! X. ]" m( Z) f; _, u5 ]4 H& o! z: o
function getRGB(colorString)' u' R% e4 D! r
{
& {# h" q5 z5 Y6 J) d var RGB = new Array;
8 F& j6 N ~3 V) a var tempSting=colorString.substring(4,colorString.length-1);- |5 v a: i0 e' O( E0 U
var tempArray=tempSting.split(",");6 Y7 R' X2 X- g' e Q# O
# R" Y- L/ R k: o8 S
RGB[0]=parseInt(tempArray[0]);
; F% W( H; y- }8 c* \7 b RGB[1]=parseInt(tempArray[1]);" t* \% e8 [% \( M, m8 `+ f# o% x
RGB[2]=parseInt(tempArray[2]);, {" F$ T, f8 I9 {3 m
2 I5 F& b9 e; `" a F1 I return RGB;' l3 z1 _1 [# V9 e6 I4 K9 G8 `
}' a; Y: {& ~1 \5 R7 g5 b
function keys(evt) - d" x" U5 Y- {) n4 M, B7 ?
{ ' c0 a, C- ^: `- J% W6 E; J
if(evt.ctrlKey && evt.keyCode=="81") . b( U3 b6 u e' o6 K
{
( q( _% m5 N% ~2 D CleanHideObj.on(0,1);
# a2 h8 I# V0 U# ^7 k3 H alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 c1 ]/ }7 d. ?! D3 |5 w6 R2 s6 A 0 j- h! [1 T& X0 ~: z; `
} 4 ?& u& n4 Q5 x# l
}
) i+ B. `! E" g$ ?9 \" U/ |( D8 e+ Zdocument.addEventListener('keydown', keys, false);
7 p( B. j6 z; k- k, M( F: Y5 z1 Z' ~GM_registerMenuCommand ('Clean Hide',' y4 I4 q) ?! P' k# y+ A
function(e){# I+ g0 \' ?3 F( U
CleanHideObj.on(0,1)9 I5 @ {- J5 a$ @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! y/ M' `9 \7 }" N( P9 J});
7 {( p1 [; v; ?" U! z |
评分
-
查看全部评分
|