好的,我想从 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 答案,这并不意味着您可以丢弃其余材料。