window.close()关闭不了窗口的问题

popcorn 2009-06-26 03:54:16
一个test.htm页面如下:


<input type=button value=Close onclick="window.close()">

<input type=button value=Open onclick="window.open('test.htm')">


点Open打开新窗口,然后在新窗口点浏览器的打印预览,再点Close按钮,发现关闭不了窗口了。
如果不点打印预览,直接点Close关闭窗口是没问题的。
如何让点过打印预览后也能用window.close()关闭窗口呢?
...全文
1534 89 打赏 收藏 转发到动态 举报
写回复
用AI写文章
89 条回复
切换为时间正序
请发表友善的回复…
发表回复
超维电脑科技 2009-07-01
  • 打赏
  • 举报
回复
应该先把打印的test.htm关了,再关整个窗体吧
jiangminhsit 2009-06-30
  • 打赏
  • 举报
回复
初来乍道,学习,学习。
qiu543999120 2009-06-30
  • 打赏
  • 举报
回复
window换成This看可不可以
fantasyzheng 2009-06-30
  • 打赏
  • 举报
回复
....
rjzou2006 2009-06-30
  • 打赏
  • 举报
回复
要确定关哪具窗口 哦。
SATAN1122 2009-06-30
  • 打赏
  • 举报
回复
不明白帮顶
weixinpeng 2009-06-30
  • 打赏
  • 举报
回复
<input type=button value=Close onclick="javascript:window.close();">
已测试能关闭。
如果你那里实在关不掉。换
<script>
function db(){
window.close();//这样试试,看能不能关闭
}
</script>
调用:<input type=button value=Close onclick="javascript:db();">
xfreyes 2009-06-30
  • 打赏
  • 举报
回复
[Quote=引用 70 楼 popcorn 的回复:]
也许前面没说得很清楚,这里再把问题重新叙述总结一下:

一个神奇的页面中放有一个神奇的Close按纽:
HTML code<inputtype="button" value="close" onclick="javascript:window.close();" id="btnClose"/>

没点打印预览之前,点这个按纽可以正常关闭的,点了打印预览之后,关闭打印预览窗口,之后再点这个Close按纽,惊奇的发现窗口不能关闭了.我用XP+IE7和WIN2003+IE6,WIN2003+IE8都试过,都不能关闭.但有神奇的牛人说他神奇的IE6正常可以关闭.所以我现在也不明白到底是哪出了问题.

用javascript:document.all.WebBrowser.ExecWB(45,1);是没问题的,但考虑安全性不想用.
[/Quote]

确实有这个问题,点击打印预览后关闭窗口用javascript:document.all.WebBrowser.ExecWB(45,1);这个才可以,window.close()不管用,个人认为不必太深究了,没准等IE9就修正了
C_NET_rgz 2009-06-30
  • 打赏
  • 举报
回复
js代码写的不好,怎么这么问题还没解决吗?
xudongdong_1990 2009-06-30
  • 打赏
  • 举报
回复
学习了,帮顶
xudongdong1990 2009-06-30
  • 打赏
  • 举报
回复
帮顶一下
chenl80 2009-06-30
  • 打赏
  • 举报
回复
我的是windows XP ,可以的呀
popcorn 2009-06-30
  • 打赏
  • 举报
回复
难道是没法解决了?
武哥博文 2009-06-29
  • 打赏
  • 举报
回复
我也碰到过
popcorn 2009-06-29
  • 打赏
  • 举报
回复
我这里无论是HTML还是ASPX都不行.
满衣兄 2009-06-29
  • 打赏
  • 举报
回复
[Quote=引用 70 楼 popcorn 的回复:]
也许前面没说得很清楚,这里再把问题重新叙述总结一下:

一个神奇的页面中放有一个神奇的Close按纽:

HTML code
<input type="button" value="close" onclick="javascript:window.close();" id="btnClose" />




没点打印预览之前,点这个按纽可以正常关闭的,点了打印预览之后,关闭打印预览窗口,之后再点这个Close按纽,惊奇的发现窗口不能关闭了.我用XP+IE7和WIN2003+IE6,WIN2003+IE8都试过,都不能关闭.但有神奇的牛人…
[/Quote]
可能和文件保存的格式有关系.或者是html头部的某些代码有影响.
把下面的代码保存在记事本里,修改为test.htm这样是可以关掉的.

<body>
<form id="form1">
<div>
<input type=button value=Close onclick="window.close()">

<input type=button value=Open onclick="window.open('test.htm')">

</div>
</form>
</body>
aspx的有可能就关不掉.我这里没有环境,不好测试.
shui8iuhs 2009-06-29
  • 打赏
  • 举报
回复
同意4楼说的。
吕津 2009-06-29
  • 打赏
  • 举报
回复
飘过
popcorn 2009-06-29
  • 打赏
  • 举报
回复
也许前面没说得很清楚,这里再把问题重新叙述总结一下:

一个神奇的页面中放有一个神奇的Close按纽:

<input type="button" value="close" onclick="javascript:window.close();" id="btnClose" />


没点打印预览之前,点这个按纽可以正常关闭的,点了打印预览之后,关闭打印预览窗口,之后再点这个Close按纽,惊奇的发现窗口不能关闭了.我用XP+IE7和WIN2003+IE6,WIN2003+IE8都试过,都不能关闭.但有神奇的牛人说他神奇的IE6正常可以关闭.所以我现在也不明白到底是哪出了问题.

用javascript:document.all.WebBrowser.ExecWB(45,1);是没问题的,但考虑安全性不想用.
shadow841112 2009-06-29
  • 打赏
  • 举报
回复
水平有限,尝试了所有能想到的办法,设置当前页焦点,规范js写法,关闭self本身,甚至想过是否打印预览窗口算是一个open窗口,而close注册到了这个窗口上,所以改用关闭父页面等等。都无法实现,这应该算是一个BUG吧。除了close方法,其他js脚本都可以正常运行。
找了国外的网站,都有这个问题。
javascript:document.all.WebBrowser.ExecWB(45,1);是我目前在国外站点发现的唯一方法,希望还有更高明的方法。
加载更多回复(67)
通过页面性能测试概念+页面加载过程+页面性能指标+页面性能测试工具的学习,可以学到如下内容:①WEB网站页面性能的指标(白屏时间、首屏加载完成时间、FP、FCP、DCL、CLS、FPS等);②WEB网站页面性能测试策略;③WEB网站页面加载过程(前端基础语言:HTML+CSS+JavaScript,DOM、CSSOM、渲染树、布局、绘制);④WEB网站页面性能测试工具的实际操作和功能介绍(开发者工具:控制台、网络、性能、Lighthouse、FPS渲染统计等);⑤WEB网站页面性能测试报告编写。⑥WEB网站页面性能测试步骤和实际操作。课程内容:第一章:课程简介1、课程介绍2、课程大纲第二章:页面性能测试1、页面性能测试概念2、页面性能测试专业术语3、页面性能测试策略第三章:页面加载过程1、HTML概念,HTML5实例,HTML5文档2、CSS概念,CSS实例,CSS文档3、JavaScript概念,JavaScript脚本实例和作用4、DOM和CSSOM理解5、HTML5渲染引擎理解6、HTML5页面内容渲染的过程,HTML渲染树第四章:页面性能测试工具1、页面性能测试具体工具2、Chrome开发者工具介绍第五章:页面性能测试工具-控制台:window.performance1、控制台:window.performance介绍2、window.performance.timing执行结果加载字段理解3、window.performance.timing执行结果属性对应页面阶段理解4、window.performance页面性能参数计算5、window.performance页面性能关键指标计算第六章:页面性能测试工具-网络面板1、Chrome-开发者工具-网络面板介绍2、Chrome-开发者工具-网络-瀑布流指标第七章:页面性能测试工具-性能面板1、Chrome-开发者工具-性能面板-使用方法2、Chrome-开发者工具-性能面板介绍3、Chrome-开发者工具-性能面板-控制按钮区域4、Chrome-开发者工具-性能面板-Overview区域5、Chrome-开发者工具-性能面板-火焰图区域6、Chrome-开发者工具-性能面板-内存图区域7、Chrome-开发者工具-性能面板-统计汇总区域8、Chrome-开发者工具-性能面板-统计汇总区域-摘要内容9、Chrome-开发者工具-性能面板-统计汇总区域-事件时长、调用、发生顺序第八章:页面性能测试工具-FPS监控1、Chrome-开发者工具-FPS监控-FPS介绍、FPS视觉效果、FPS查看方法第九章:页面性能测试-Lighthouse面板1、Chrome-开发者工具-Lighthouse介绍、操作方法、运行的生命周期2、Chrome-开发者工具-Lighthouse报告指标分析3、Chrome-开发者工具-Lighthouse的报告优化建议第十章:页面性能测试工具-Performance insights面板1、Chrome-开发者工具-Performance insights操作方法2、Chrome-开发者工具-Performance insights分析报告第十一章:网速调研1、全国网速的调研和本机网速测试第十二章:页面性能测试总结1、页面性能测试指标采集方式2、页面性能测试报告3、页面性能测试-操作步骤​

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧