Javascript 为什么window.close()突然不工作了?
我的应用程序通过新浏览器选项卡中的图标或链接打开新的PHP。几个月来,我一直在使用一个简单的JavaScript函数来关闭当前的浏览器选项卡 突然,在过去的几天里,只有当窗口第一次打开时,关闭链接才起作用。当你在页面上做一些事情时(点击链接,按下提交按钮),它就不起作用了。我不知道这是什么问题。代码中没有任何更改 HTML href语句是:Javascript 为什么window.close()突然不工作了?,javascript,Javascript,我的应用程序通过新浏览器选项卡中的图标或链接打开新的PHP。几个月来,我一直在使用一个简单的JavaScript函数来关闭当前的浏览器选项卡 突然,在过去的几天里,只有当窗口第一次打开时,关闭链接才起作用。当你在页面上做一些事情时(点击链接,按下提交按钮),它就不起作用了。我不知道这是什么问题。代码中没有任何更改 HTML href语句是: <a href="javascript:windowClose()"><span>Close</span&
<a href="javascript:windowClose()"><span>Close</span></a>
在Windows10平台上,Edge和Chrome都会出现这种情况
这可能是由于对O/S、Chrome或Edge应用程序的某些更新造成的吗?根据MDN,“脚本无法关闭窗口,因为它们尚未打开”
如果选项卡已由您打开(您键入url并手动按enter键),则无法使用Javascript关闭窗口。但是,例如,如果您使用npm start启动项目(在我的例子中是React),则可以使用您提供的代码关闭页面。虽然当你试图通过手动打开网页并关闭标签来重新操作时,你会失败
总之,不要试图关闭js未打开的窗口
参考资料:我想补充一点,为用户关闭窗口很少有好的用户体验。处理机密信息的大型网站会发出警报,告诉您最好关闭窗口/浏览器以阻止存储会话,而不是尝试为您这样做,这是有原因的。作为9/10的用户,这是一种不自然/不愉快的体验。感谢您的快速回复。因此,如果用户单击php生成的网页上的链接(或按钮),并且href使用target=“\u blank”将新的php程序加载到另一个浏览器选项卡中,用户如何关闭该窗口/选项卡?他们会按标签上的“X”吗?我使用了指向window.close()的链接,因为它看起来更优雅。。。。。还有其他方法吗?你可以这样做(如果我理解正确,请告诉我:)。下面是方法:看起来你的“父”页面打开了一个子窗口,其中加载了www.google.com。然后从父窗口关闭子窗口。我想通过加载的应用程序关闭子窗口(在您的示例中:Google)。我想我找到了一个解决方案。我已经更改了“parent”程序,因此我不再简单地使用带有targetr=“\u blank”的href,而是将URL传递到执行window.Open的javascript函数中。这样,窗口的打开和关闭都由Java脚本控制。到目前为止,一切顺利。谢谢大家的帮助!可能重复:是否可以编辑代码,使其位于社区可以帮助诊断的可运行代码段中?按钮`onclick=“window.close()”处理程序是否有效(代码似乎过于复杂)?此外,“获取链接”是指页面内链接还是页面外链接,以及在表单提交期间关闭页面的用例是什么?
function windowClose() {
window.open('','_parent','');
window.close();
}