用超连接打开页面的时候,用self.close()半闭窗体,系统总是会弹出确认关闭的窗口。有点烦人。
调用系统的Object又太麻烦。
用window.open打开页面就好了。这样就可以关闭了。
window.open打开了一个新窗口。但是有时候,我们不须要window.open弹出新窗口怎么办呢?
给他的第二个参数设成_top就可以了。比如:window.open("http://baidu.com","_top");
测试一下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<a href="javascript:op();">打开</a>
<SCRIPT LANGUAGE="JavaScript">
<!--
var a;
function op(){
a=window.open("about:blank","_top");
a.document.write("<a href=\"javascript:self.opener=null;self.close();\">关闭</a>");
}
//-->
</SCRIPT>
</BODY>
</HTML>
在给一个方法,转自ppk on javascript作者的blog:
var newwindow = '';
function popitup(url,target) {
if (!newwindow.closed && newwindow.location) {
newwindow.location.href = url;
}
else {
newwindow=window.open(url,target);
if (!newwindow.opener) newwindow.opener = self;
}
if (window.focus) {newwindow.focus()}
return false;
}
这个方法,只允许弹出一个窗口。点多次,也只弹出一个。很爽的。
PS:不知道从哪看到到这样一个方法,可以关闭浏览器,不给出任何提示。
<INPUT TYPE="button" value="提交" onclick="closeWin();">
<SCRIPT LANGUAGE="JavaScript">
<!--
function closeWin(){
window.open("","_self");
top.opener=null;
top.close();
}
//-->
</SCRIPT>