谷歌Chrome"window.open"解决方法?

Pau*_*aul 59 javascript google-chrome

我一直在开发一个Web应用程序,部分内容我需要打开一个新窗口.我有这个适用于所有浏览器,我的关键点是谷歌Chrome.

铬似乎忽视,这是造成我的问题的窗口功能,我挣扎的事情是我需要的地址栏是新窗口中编辑.FF,IE,Safari和Opera做得很好,Chrome没有.

我的代码:

function popitup(url) {
  newwindow=window.open(url, 'name', 'toolbar=1,scrollbars=1,location=1,statusbar=0,menubar=1,resizable=1,width=800,height=600');
  if (window.focus) {
    newwindow.focus()
  }
  return false;
}
Run Code Online (Sandbox Code Playgroud)

Jer*_*oen 31

其他答案已过时.Chrome for的行为window.open取决于它的调用位置.另请参阅此主题.

如果window.open是从被触发,虽然用户动作处理函数调用(如onclick事件),它将作为行为类似<a target="_blank">,默认情况下在新标签中打开.但是,如果window.open在其他地方调用,Chrome会忽略其他参数,并始终打开一个带有不可编辑地址栏的新窗口.

这看起来像某种安全措施,虽然其背后的基本原理尚不完全清楚.

  • 你知道是否有关于此的官方文件? (6认同)

小智 23

这对我有用:

newwindow = window.open(url, "_blank", "resizable=yes, scrollbars=yes, titlebar=yes, width=800, height=900, top=10, left=10");
Run Code Online (Sandbox Code Playgroud)


scu*_*ffe 9

location=1部件应启用可编辑的位置栏.

作为旁注,您可以language="javascript"从脚本中删除该属性,因为它现在已被弃用.

更新:

设置statusbar=1正确的参数status=1对我有用


Din*_*gle 5

我相信目前没有javascript方法强制chrome在tab模式下作为新窗口打开.已提交故障单,如此处弹出窗口默认显示为选项卡.但是,用户可以单击左上角的chrome图标并选择"显示为选项卡",然后地址栏将变为可编辑状态.

javascript中询问的类似问题在新窗口中打开而不是标签.


Tim*_*phy 5

菜单栏必须为0或0,Google Chrome才能在新窗口(而不是标签页)中打开。