一段时间没有在JS中编程。 现在,我有以下内容:
<html>
<head>
<script language="JavaScript">
function enlarge()
{
window.close();
}
</script>
</head>
<body>
<img src="addresstomyimg.png" onClick="enlarge()" />
</body>
</html>
(它非常简化,事实上,我有WordPress平台,带有自定义JS修改等,但总的来说,这就是这个想法)。
我不明白为什么它不起作用。
答案 0 :(得分:6)
JavaScript除非打开窗口,否则无法关闭窗口。
在您的函数中,将window.close()
替换为alert('here')
,您将看到该函数正常工作。
如果您希望您的功能关闭窗口,请先打开一个窗口:
<html>
<head>
<script type="text/javascript">
var popup;
function closewin()
{
popup.close();
}
function openwin()
{
popup = window.open('http://www.google.com');
}
</script>
</head>
<body>
<img src="addresstomyimg.png" onclick="openwin()" /> Click to open, then come back here
<br><br>
<img src="addresstomyimg.png" onclick="closewin()" /> Click to close
</body>
</html>
答案 1 :(得分:6)
如果您尝试使用Firefox运行此脚本并使用Firefox的错误控制台查找错误,则可以看到运行此脚本时会记录以下错误。
Scripts may not close windows that were not opened by script.
您可以按 Ctrl + Shift + J 在Firefox中启动错误控制台。
在Chrome上,您的脚本会成功关闭其运行的标签。
请注意,在编写JavaScript时使用<script>
标记的正确方法如下:
<script type="text/javascript">
答案 2 :(得分:2)
如果您尝试关闭主窗口,则无效。
您只能关闭由JavaScript打开的窗口。
答案 3 :(得分:0)
此代码适用于IE。
<html>
<head>
<script language="JavaScript">
function enlarge()
{
self.close();
}
</script>
</head>
<body>
<img src="addresstomyimg.png" onClick="enlarge()" />
</body>
</html>