好的,我想从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窗口...单击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>
EDIT 2:
发现了这个,我猜浏览器的行为很奇怪,因为在20世纪90年代,一群人决定滥用JS……这个想法是为了在分享时不中断用户体验,但看起来我必须使用相同的窗口,并在完成后重定向回原始的url。
window.open not working when attached on onload event in chrome and safari
EDIT 3:多年后我必须澄清这不是一个重复的问题。最初的问题是关于来自后端脚本的window.open,当时是PHP。当你将某件东西标记为重复时,考虑到你在整个主题上掉落了锤子。仅仅因为我链接到另一个S/O答案,并不意味着您可以扔掉其余的材料。
发布于 2012-06-16 08:12:37
window.open
的第三个参数。你有没有试过"toolbar=yes, location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,copyhistory=yes,resizable=yes"
发布于 2012-06-16 08:49:03
像我在几个地方用过的简单的东西怎么样,适用于chrome,firefox,也就是safari,opera..最近在我正在做的一个项目中使用了这个。因此,它看起来仍然有效。
window.open(url, "_blank");
https://stackoverflow.com/questions/11059624
复制相似问题