如何用Javascript关闭窗口

时间:2012-02-07 18:26:58

标签: javascript html css

一段时间没有在JS中编程。 现在,我有以下内容:

<html>
<head>
<script language="JavaScript">
   function enlarge()
   {
   window.close();
   }
</script>
</head>
<body>
<img src="addresstomyimg.png" onClick="enlarge()" />
</body>
</html>

(它非常简化,事实上,我有WordPress平台,带有自定义JS修改等,但总的来说,这就是这个想法)。

我不明白为什么它不起作用。

4 个答案:

答案 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>

演示:http://jsfiddle.net/AlienWebguy/pbFha/

答案 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>