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); }