可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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();