0

好的,我想从 PHP 脚本中打开一个新窗口,所以我只是回显 JS:

echo "<script type='text/javascript'>window.open('".configController::$BASE_URL."/view/share.php?u=".$url."');</script>";

我只想打开一个用户可以与之交互的普通窗口,但是......我得到一个看起来很恶心的窗口,没有菜单栏、状态等。它是一个纯粹的弹出窗口( icky )。

我已经尝试提供打开的首选项并启用所有选项,但我仍然得到那个无特色的窗口。

这是启用了选项的 PHP:

echo "<script type='text/javascript'>window.open('".configController::$BASE_URL."/view/share.php?u=".$url."',' Share','toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes');</script>";

这是它生成的JS:

<script type='text/javascript'>
    window.open('http://localhost:8888/lks/view/share.php?u=www.yahoo.com',' Share','toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes');
</script>

如果我通过单击按钮使用 window.open('url here') 将执行我想要的操作...有什么区别?和......我怎样才能打开一个普通的窗口?

编辑:

潜水更深....我把这个页面放在一起。onLoad 事件将打开 lame-o 窗口...单击 Click Me 会正确打开窗口。

<html>
<head>

    <script type='text/javascript'>
        function popit(){
            //window.open('http://www.yahoo.com','_blank');
            window.open('http://www.yahoo.com','Share','toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,history=yes,resizable=yes');
        }
    </script>
</head>
<body onload="popit()">
    <a href="#" onclick="popit();">CLICK ME</a>
</body>
</html>

编辑2:

发现了这个,我猜浏览器的行为很奇怪,因为 1990 年代的一群人决定滥用 JS ......这个想法是在分享时不中断用户体验,但看起来我必须使用相同的窗口并在完成后重定向回原始 url。

在 chrome 和 safari 中附加 onload 事件时 window.open 不起作用

编辑3: 多年后我必须澄清这不是一个重复的问题。最初的问题是关于来自后端脚本的 window.open,当时是 PHP。当您将某些内容标记为重复时,请考虑您正在将锤子放在整个主题上。仅仅因为我链接到另一个 S/O 答案,这并不意味着您可以丢弃其余材料。

4

2 回答 2

-1

像我在几个地方使用它这样简单的东西怎么样,适用于 chrome,firefox,即 safari,opera .. 最近在我正在从事的项目中使用它。所以它似乎仍然有效。

window.open(url, "_blank");

于 2012-06-16T00:49:02.777 回答
-1

第三个参数window.open。你试过了"toolbar=yes, location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes"吗?

于 2012-06-16T00:12:37.147 回答