日期:2014-05-16  浏览次数:20346 次

进一步认识Javascript中window对象的方法和属性以及重写alert方法,控制弹出窗口,frames[]数组

JS的好玩之处:

1.我们可以重写方法。对于alert()方法我们可能已经都知道了,那我们可不可以重写window对象的alert方法呢。答案是肯定的。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>window的alert方法重写</title>
</head>

<body>
<script type="text/javascript">
window.alert = function (a,b)  //如果把这个函数注释掉的话,看看有什么效果
{
	document.write('<dl id="alert"><dt>'+a+'</dt><dd>'+b+'</dd></dl>');
}
alert("你好","新的alert方法");
</script>
</body>
</html>
运行以上代码,发现网页不会再跳出一个对话框了,因为原有的alert方法已经被重写了,而现在显示的效果则是会在网页上出现a,b。


2.控制弹出的窗口
window.open(url,name,features,replace);

各参数说明:

url:设置打开窗口中显示的文档的url,省略或者值为空字符串的话,新窗口不显示任何文档

name:为新窗口命名,可以作为a,form的target属性值,如果已经存在,不会再创建新的窗口,而返回指定窗口的引用,这种情况下,第三个参数将被忽略

features:设置新窗口的显示特征

replace:设置在窗口的浏览历史中给装载到新页面的url创建一个新条目,还是用它替换浏览历史中的当前条目。

注意,replace参数只有在第二个参数命名的是一个已经存在的窗口才有用。

以下是演示如何自动弹出窗口以及如何在指定时间内自动关闭窗口的例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>window自动弹出窗口自动关闭窗口</title>
</head>

<body>
<script type="text/javascript">
var url="http://www.css8.cn/";
var features="height=100,width=100,top=100,left=100,toolbar=no,menubar=no,scrollbar=no,resizable=no,location=no,status=no";
document.write('<a href="http://www.baidu.com/" target="newW">切换到百度首页</a>')
var me = window.open(url,"newW",features);
setTimeout(function(){  //设置在3秒之后调用这个函数关闭窗口
	me.close();
	},3000)
</script>
</body>
</html>

以上features中height和width是设置弹出的窗口的高度和宽度,

top和left是设置距离屏幕的上面和左边多宽

scrollbars=no 不显示滚动条,resizable = no 不能调整大小