Google Chrome“window.open”解决方法?

我一直在做一个networking应用程序,对于它的一部分,我需要打开一个新的窗口。 我在所有的浏览器上都能正常工作,我的问题在于Google Chrome。

Chrome浏览器似乎忽略了导致我问题的窗口function,我正在努力的是我需要地址栏在新窗口中可编辑。 FF,IE,Safari和Opera做得很好,Chrome不行。

我的代码:

<script language="javascript" type="text/javascript"> <!-- 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; } // --> </script> 

任何帮助将感激地收到! 提前致谢 :)

其他答案已经过时。 Chrome的window.open的行为取决于它从哪里调用。 另请参阅此主题 。

当通过用户操作(例如onclick事件)触发的处理程序调用window.open ,它的行为将类似于<a target="_blank"> ,默认情况下会在新选项卡中打开。 但是,如果在其他地方调用window.open ,则Chrome会忽略其他参数,并始终使用不可编辑的地址栏打开新窗口。

这看起来像某种安全措施,但背后的理由还不完全清楚。

这对我工作:

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

location=1部分应该启用一个可编辑的位置栏。

作为一个方面的说明,你可以从脚本中删除language="javascript"属性,因为它现在已经被弃用了。

更新

statusbar=1设置为正确的参数status=1适用于我

我相信目前没有JavaScript的方式强制铬打开作为一个新的窗口在标签模式。 已经提交了一张票,就像这里的popup窗口默认显示为标签 。 但用户可以点击左上angular的铬图标并select“显示为标签”,地址栏就变为可编辑了。

在javascript中打开一个类似的问题, 在新窗口中打开,不是标签 。

菜单栏必须为0或0,表示Google Chrome可以在新窗口中打开而不是在选项卡中打开。

当您使用window.open(“”,“NAME”,….)时,不要为目标窗口设置名称。

如果你这样做,你只能打开一次。 用_blank等代替。

据我所知,chrome不能正常工作,如果你引用本地主机(比如,你正在本地开发一个网站)

这工作:

 var windowObjectReference; var strWindowFeatures = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes"; function openRequestedPopup() { windowObjectReference = window.open("http://www.cnn.com/", "CNN_WindowName", strWindowFeatures); } 

这不起作用

 var windowObjectReference; var strWindowFeatures = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes"; function openRequestedPopup() { windowObjectReference = window.open("http://localhost/webappFolder/MapViewer.do", "CNN_WindowName", strWindowFeatures); } 

当从http://localhost/webappFolder/Landing.do加载时,这也不起作用

 var windowObjectReference; var strWindowFeatures = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes"; function openRequestedPopup() { windowObjectReference = window.open("/webappFolder/MapViewer.do", "CNN_WindowName", strWindowFeatures); }