window.open from PHP script


window.open from PHP script

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

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

我只想打开一个普通窗口,用户可以与之交互,但是......我得到一个病态的瞪泽尔看窗,没有菜单栏、状态等。这是一个纯粹的弹出窗口(令人讨厌)。

我尝试提供打开的首选项并启用所有选项,但我仍然得到那个没有功能的窗口。

以下是启用了选项的 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 窗口...单击"单击我"可正确打开窗口。

<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。

Windows.打开时在 Chrome 和 Safari 中的加载事件上附加时不起作用

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

第三个

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

像我在少数地方使用它这样简单的东西,适用于chrome,Firefox,即Safari,opera..最近在我正在从事的一个项目中使用了它。所以它似乎仍然有效。

window.open(url, "_blank");