从PHP脚本开始window.open

时间:2012-06-16 00:06:51

标签: php javascript window.open

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

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

我只想要一个普通的窗口打开,用户可以与之交互,但是...我得到了一个看起来很糟糕的gazzelle看起来没有菜单栏,状态等窗口。这是一个纯粹的弹出窗口(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:

发现这一点,我猜测浏览器表现得很奇怪,因为20世纪90年代的一群人决定滥用JS ......这个想法是在共享时不打断用户体验,但看起来我会有使用相同的窗口并在完成后重定向回原始URL。

window.open not working when attached on onload event in chrome and safari

编辑3: 多年以后,我必须澄清这不是一个重复的问题。最初的问题是关于一个窗口。从后端脚本打开,当时是PHP。当你将某些东西标记为副本时,请考虑到你在整个主题上放下了锤子。仅仅因为我链接到另一个S / O答案,这并不意味着你可以扔掉其余的材料。

2 个答案:

答案 0 :(得分:-1)

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

答案 1 :(得分:-1)

像我在少数几个地方使用过这么简单的东西,使用chrome,firefox,即safari,opera ..最近在我正在研究的项目中使用它。所以它似乎仍然有用。

window.open(url, "_blank");