IE打开两个弹出窗口而不是一个弹出窗口

时间:2012-11-05 12:43:59

标签: php javascript internet-explorer-9

我有一个复杂的PHP脚本,它读入一些信息,然后调用bash脚本来处理它。 PHP脚本在弹出窗口中显示输出,然后将浏览器导航回调用它的页面。

因此它可以在Firefox和Chrome中运行,但在IE 9中发生了一些奇怪的事情。当我点击调用PHP脚本的按钮时,浏览器变为空白,一个接着显示两个相同的空弹出框,当信息是填充在其中一个浏览器中导航回来并关闭另一个弹出窗口。这是代码:

echo '<script type="text/javascript">';
echo 'win1 = window.open("", "", "status = 0, height=800, width=1000, resizable=1, scrollbars=1");';
echo 'window.history.go(-1);';
echo "win1.document.write($content);";
echo "win1.document.close();";
echo '</script>';

为什么它显示两个弹出窗口,我该如何防止它?

1 个答案:

答案 0 :(得分:2)

为什么window.history.go不在最后?

同时删除参数中的所有空格并给出一个不带空格的名称(第二个参数)。

最后,如果您使用提交按钮将其更改为按钮或链接,请在onclick中返回false

尝试

?>

<script type="text/javascript">
var win1 = window.open("", "mywin", "height=800,width=1000,resizable,scrollbars");
if (win1) {
  win1.document.write($content);
  win1.document.close();
  window.history.go(-1);
}
</script>

DEMO TO TRY TO REPRODUCE