如何在当前浏览器窗口(html)中显示新窗口?

时间:2010-02-19 04:32:31

标签: javascript html windows browser

我正在尝试创建一个包含名为<script>的函数的嵌入式"showForm()",该函数在主浏览器窗口中显示名为“form.htm”的文件的内容。

这就是我需要做的事情:

  1. 在浏览器窗口中显示用于打开cover.htm文件的form.htm文件。 (提示:使用“opener”关键字引用主浏览器窗口,使用location.href属性指定要在该窗口中显示的文档。)

  2. 关闭当前窗口。

  3. 我很难弄清楚每个部分究竟是什么以及它们的含义,我也不太懂得如何写它。我得到的是我试图在现有的浏览器窗口“cwj.htm”中打开新内容(“form.htm”),然后将其关闭但我不明白如何编写它。任何帮助表示赞赏。谢谢!

    这是我提出的代码。请参阅<script>代码:

     <head>
       <title>Subscription</title>
    
    <link href="cover.css" rel="stylesheet" type="text/css" />
    
    
    <script type="text/javascript">
        function showForm() {
        <!--window.open("form.htm","opener","");
            window.close(); -->
            <!--window.open("location.href"); -->
            document.write(location.href);
            window.open("form.htm","opener","");
            window.close();
        }
    </script>
    </head>
    

2 个答案:

答案 0 :(得分:0)

我认为他们的意思是window.opener而不是"opener"window.opener是对打开当前窗口的窗口的引用。

答案 1 :(得分:0)

有几件事:

您的脚本块应如下所示:

<script type="text/javascript">
<!--
   your code goes here
//-->
</script>

你实际上可以使用:

<script>
  your code goes here
</script>

它可以在所有现代网络浏览器中使用;但您可能希望包含HTML注释标记<!-- //-->以保证完整性。

在脚本块中,您不应使用HTML注释<!-- -->来禁用代码。您需要使用C风格的评论/* disabled code goes here */

现在开始使用您的代码。您定义了一个函数:

function showForm() {
}

这在你的代码中定义了一个可以运行的函数,但是在你调用它之前它不会运行,如下所示:

showForm();

Javascript或多或少地立即发生,所以如果你打开一个窗口,然后立即再次关闭它,你可能不会看到它。首先尝试让它打开。

window.opener是一个窗口中的全局属性,它作为弹出窗口打开。它指向打开弹出窗口的另一个窗口的window对象。

我希望这能为您提供足够的帮助,帮助您解决问题,而无需为您做好功课。 =)