【问题标题】:how to display new window in current browser window (html)?如何在当前浏览器窗口(html)中显示新窗口?
【发布时间】:2010-08-27 03:28:58
【问题描述】:

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

这是我需要做的:

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

  2. 关闭当前窗口。

我很难弄清楚每个部分到底是什么以及它们的全部含义,而且我也不太明白如何编写它。我知道我正在尝试在现有浏览器窗口“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>

【问题讨论】:

    标签: javascript html windows browser


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      有几点:

      您的脚本块应如下所示:

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

      您实际上可以使用:

      <script>
        your code goes here
      </script>
      

      它适用于所有现代网络浏览器;但您可能希望包含 HTML 注释标记 &lt;!-- //--&gt; 以确保完整性。

      在脚本块内,您不应使用 HTML cmets &lt;!-- --&gt; 来禁用您的代码。你会想要使用 C 风格的 cmets /* disabled code goes here */

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

      function showForm() {
      }
      

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

      showForm();
      

      Javascript 或多或少会立即发生,因此如果您打开一个窗口,然后又立即将其关闭,您可能不会看到它。首先尝试打开它。

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

      我希望这可以为您提供足够的帮助,让您无需做功课就可以解决问题。 =)

      【讨论】:

        猜你喜欢
        • 2014-08-29
        • 1970-01-01
        • 1970-01-01
        • 2020-11-21
        • 2019-11-04
        • 1970-01-01
        • 1970-01-01
        • 2019-04-26
        • 1970-01-01
        相关资源
        最近更新 更多