window.close() doesn't work - Scripts may close only the windows that were opened by it [duplicate]

匿名 (未验证) 提交于 2019-12-03 01:54:01

问题:

This question already has an answer here:

I'm having a problem always when I'm trying to close a window through the window.close() method of the Javascript, while the browser displays the below message on the console:

"Scripts may close only the windows that were opened by it." 

This occurs in every part of the page. I can run this directly of a link, button, or a script, but this message always are displayed.

I'm tried to replace the window.close(); method for the functions (or variants of these) below, but nothing happened again:

window.open('', '_self', ''); window.close(); 

回答1:

Error messages don't get any clearer than this:

"Scripts may close only the windows that were opened by it." 

If your script did not initiate opening the window (with something like window.open), then the script in that window is not allowed to close it. Its a security to prevent a website taking control of your browser and closing windows.



回答2:

You can't close a current window or any window or page that is opened using '_self' But you can do this

var customWindow = window.open('', '_blank', '');     customWindow.close(); 


回答3:

I searched for many pages of the web through of the Google and here on the Stack Overflow, but nothing suggested resolved my problem.

After many attempts and "kicks", I changed my way of to test that controller. Then I have discovered that the problem occurs always which I reopened the page through of the Ctrl + Shift + T shortcut in Chrome. So the page ran, but without a parent window reference, and because this can't be closed.



回答4:

The below code worked for me :)

window.open('your current page URL', '_self', ''); window.close(); 


回答5:

This works in Chrome and Safari:

window.open(location, '_self', ''); window.close(); 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!