1

以下代码在 www 上运行良好,但在内部网络中打开一个空白窗口。也就是说,它可以在http://www.foobar.com上运行,但它会在http://myserver.foobar.com上失效,其中 myserver 是一个面向私有的 Web 服务器。

<html>
  <head>
    <script Language="JavaScript">
      function OpenWindow()
        {
          var popup=window.open("","");
          popup.document.write("<H1>TEST</H1>");
        }
    </script>
  </head>
  <body>
    <input type="button" value="button" onclick="OpenWindow();">
  </body>
</html>

仅供参考,上面的代码适用于内部网络的 IE、FireFox、Chrome 和 Safari。只有 Opera(在 11.50 版本上测试)不喜欢它。我认为它基本上忽略了 document.write。

这是 Opera 的错误吗?

谢谢你。

4

1 回答 1

0

我已经在 localhost 上运行的 Opera 11.52 中尝试了您的代码(转换为 JSP 并在 tomcat 容器中运行),它工作正常。

需要检查的一些事项:

  • 您的 Opera 是否设置为阻止弹出窗口?(Ctrl+12 -> 常规 -> 弹出窗口)
  • 您的 Opera 是否会在阻止弹出窗口时通知您?(Ctrl+F12 -> 高级 -> 通知 -> 显示被阻止弹出窗口的通知)
  • 您的 Opera 是否设置为阻止来自您遇到问题的域的内容,或者是否存在“隐藏”错误?(右键单击页面 -> 编辑站点首选项...;然后,查看常规选项卡上的弹出窗口设置;在脚本选项卡上勾选“出错时打开控制台” ;并检查网络选项卡上的代理设置是否正确; 最后,右键点击页面 -> 阻止内容 -> 详细信息...,检查是否有任何内容可能被阻止。
  • 您的代理设置是否正确(内部服务器似乎建议使用通常位于代理后面的公司网络)?
  • 您的站点证书是否有问题(通常是您不需要内部证书的 Intranet 站点)?(Ctrl+F12 -> 高级 -> 安全 -> 管理证书...

如果以上都不是,请尝试在 Opera 论坛上发布您的问题,它们通常非常有帮助且知识渊博。

干杯:-)

于 2011-11-03T01:21:09.383 回答