给定一些DataURI,例如data:text/plain;charset=utf-8,Hello%20World
,是否可以在同一浏览器窗口的新选项卡中打开此URI?我知道使用代码
https://www.google.com
等地址进行此操作
var win = window.open('http://google.com', '_blank');
win.focus();
在一些click事件监听器函数内部。但是以下代码不按预期工作:
var win = window.open('data:text/plain;charset=utf-8,Hello%20World', '_blank');
win.focus();
不是打开包含文本" Hello World"的空白页面的新标签页,而是打开一个新标签页,该标签格式为空白,网址空间包含about:blank
而不是dataURI data:text/plain;charset=utf-8,Hello%20World
如果我手动打开dataURI就是这种情况。这里发生了什么?为什么数据URI和http地址被区别对待?我怎么能纠正这个?请注意,我使用javascript非常重要。虽然这个玩具示例并不需要它,但我的实际项目涉及动态生成的dataURI字符串。