Window.open仅适用于第一次,否则为空白页面

时间:2017-03-23 11:13:17

标签: javascript

我正在尝试在新标签中打开一个URL,如下所示: window.open('adl:\\restofurl', '_blank')

这是第一次运行良好:弹出窗口被阻止,并询问我是否要打开网址。但是,当我向网站添加弹出窗口的例外时,第二次调用window.open时,chrome只会打开一个空白页面。 (也不适用于firefox)

当我尝试 window.open('http:\\restofurl','_blank') chrome始终正确打开它。 它看起来像是" adl"部分,但我不知道为什么。 有没有人有类似的问题?

编辑:

我正在尝试在Android设备上执行此操作,这是一个在您转到此网址后启动的应用。但是,对于非移动设备,行为也是一样的

感谢任何想法。

1 个答案:

答案 0 :(得分:0)

根据Mozilla开发者网络documentation,最好使用您尝试打开的完整网址。

  

open()方法创建一个新的辅助浏览器窗口,类似于   从文件菜单中选择新窗口。 strUrl参数指定   要在新窗口中提取和加载的URL。 如果strUrl是   空字符串,然后是一个新的空白空窗口(URL about:blank)是   使用主窗口的默认工具栏创建。

     

请注意,远程网址不会立即加载。当window.open()时   返回时,窗口始终包含about:blank。实际取物   URL的延迟是在当前脚本块之后开始的   完成执行。窗口创建和加载   引用的资源是异步完成的。

在您的情况下,浏览器无法将adl:\\restofurl识别为合法网址。当您使用http:\\restofurl作为要打开的网址时,它会创建一个空白窗口并获得正确的输出。

我也建议您使用文档的绝对路径打开。