IE,Firefox下无提示关闭窗口
1,window.opener = null;
window.open("", "_self");
window.close();
2,window.open('','_parent','');
window.close();
以上都可以 兼容IE,Firefox
但是Firefox3下用户需启用 能否用脚本来关闭窗口
解决方法:
在 Firefox 的地址栏中输入 about:config,
然后将 dom.allow_scripts_to_close_windows 一项设置为 true 来启用脚本关闭窗口
毕竟是用户行为
参考:
---------------------------------------------------------------------
javascript关闭窗口,可以用下面简单的代码:
<a href="javascript:self.close()">关闭窗口</a>
我在IE7下测试通过,但是firefox3.0却不行。
难道firefox不支持在href中直接写JavaScript?于是改成下面的样子:
<a href="javascript:alert('Hello World')">弹出窗口</a>
这次IE7和firefox下测试都通过。那就不是href中直接写JavaScript的原因了。
继续测试firefox怎么关闭自身窗口
改成了如下代码
<!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" />
<script type="text/javascript">
<!--
function windowClose(){
//self.close();
window.close();
}
//-->
</script>
<title>js测试</title>
</head>
<a href="javascript:self.close()">关闭窗口</a><br />
<a href="javascript:alert('Hello World')">弹出窗口</a><br />
<a href="#" οnclick="windowClose()">js函数关闭窗口</a>
<body>
</body>
</html>
还是不能关闭窗口。难道firefox不支持window的close属性?
那window对象的close方法能不能关闭open方法打开的窗口呢?
写下面两个html文件放在同一个文件夹下
1.open.html
<script type="text/javascript">
<!--
function openWindow(){
window.open("new.html","newWindow","width=200,height=100,toolbar=no");
}
//-->
</script>
<a href="#" οnclick="openWindow()">open函数打开新窗口</a><br />
<a href="new.html" target="_blank">超级链接在新窗口中打开新页面</a><br />
<a href="new.html" target="_parent">超级链接在父窗口中打开新页面</a>
2.new.html
<a href="javascript:window.close()">关闭窗口</a>
<a href="javascript:self.close()">关闭窗口</a>
用open方法和在"_blank"打开的可以在新窗口中关闭,而在"_parent"中打开的在firefox中还是关闭不
了
因此在firefox里用window的close方法时要注意他和IE不同的地方:在父窗口打开的页面是不能用close
方法关闭的。
然后去google搜了一下:之所以window.close在firefox不能使用,是因为firefox默认不能关闭用户打
开的网页,我们可以这样设置firefox:
打开firefox,在地址栏输入about:config
找到dom.allow_scripts_to_close_windows这项并改为true。
现在知道为什么了吧。那篇文章还有一段不错的内容,摘录如下:
众所周知,在javascript中window.close()是用来关闭窗口的,而且ie和firefox都是支持的。为了实现
用户对浏览器的绝对控制,ie中用close关闭非open打开的窗口时会弹出一个对话框询问用户。有时候我
们不希望再这样哆嗦,但是怎么去掉这个框呢,用下面的代码就可以了
<script language="javascript" type="text/javascript">
function closeWindow() {
window.open('','_parent','');
window.close();
}
</script>
<a href="javascript:closeWindow();">Close Window</a>
随便添加些window.open()的介绍
1.基本语法 window.open(pageURL,name,parameters)
2.各项参数
其中yes/no也可使用1/0;pixel value为具体的数值,单位象素。
参数 | 取值范围 | 说明
alwaysLowered | yes/no | 指定窗口隐藏在所有窗口之后
alwaysRaised | yes/no | 指定窗口悬浮在所有窗口之上
depended | yes/no | 是否和父窗口同时关闭
directories | yes/no | Nav2和3的目录栏是否可见
height | pixel value | 窗口高度
hotkeys | yes/no | 在没菜单栏的窗口中设安全退出热键
innerHeight | pixel value | 窗口中文档的像素高度
innerWidth | pixel value | 窗口中文档的像素宽度
location | yes/no | 位置栏是否可见
menubar | yes/no | 菜单栏是否可见
outerHeight | pixel value | 设定窗口(包括装饰边框)的像素高度
outerWidth | pixel value | 设定窗口(包括装饰边框)的像素宽度
resizable | yes/no | 窗口大小是否可调整
screenX | pixel value | 窗口距屏幕左边界的像素长度
screenY | pixel value | 窗口距屏幕上边界的像素长度
scrollbars | yes/no | 窗口是否可有滚动栏
titlebar | yes/no | 窗口题目栏是否可见
toolbar | yes/no | 窗口工具栏是否可见
Width | pixel value | 窗口的像素宽度
z-look | yes/no | 窗口被激活后是否浮在其它窗口之上
一个例子介绍
弹出的窗口的外观,尺寸大小,弹出的位置以适应该页面的具体情况。
- <SCRIPT LANGUAGE="javascript">
- <!--
- window.open ('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')
- //写成一行
- -->
- </SCRIPT>
参数解释:
<SCRIPT LANGUAGE="javascript"> js脚本开始;
window.open 弹出新窗口的命令;
'page.html' 弹出窗口的文件名;
'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替;
height=100 窗口高度;
width=400 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar,scrollbars 表示菜单栏和滚动栏。
Resizable=no 是否允许改变窗口大小,yes为允许;
location=no 是否显示地址栏,yes为允许;
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;
</SCRIPT> js脚本结束
打开的时候最大化
目的主要是使用javascript:window.open()对浏览器 iE6.0,7.0,8.0,chorme,safari,firefox适用
刚开始的时候对最大化使用
<a href="javascript:void window.open('https://www.sina. com.cn/ ','XX','fullscreen,scrollbars,resizable=yes,toolbar=no')">Open</a>
对IE6.0,它的效果是全屏,但是没有了关闭等等按钮,必须打开任务管理器了才能关掉,对用户很不方便。
而对safari,根本就不起作用,还是原来的窗体大小打开。
正确的使用方法是
<a href="javascript:void window.open('https://www.sina.com.cn/ ','XX',' left=0,top=0,width='+ (screen.availWidth - 10) +',height='+ (screen.availHeight-50) +',scrollbars,resizable=yes,toolbar=no')">Open</a>
对这些浏览器是 OK的