我使用window.open来在新窗口中添加不同的内容,主要是报告和自动化进程中存储的HTML。
我注意到Chrome在使用window.open()时表现非常不一致。
有些调用会创建一个新选项卡(首选行为),而有些调用则会弹出弹出窗口。
var w = window.open('','_new');
w.document.write(page_content);
page_content是来自于AJAX调用的常规HTML。 报告在头部包含一些信息,如标题、图标和一些样式表。
在IE9中,该代码会导致新标签页而不是弹出窗口,而Chrome则干脆拒绝在新标签页中显示相关内容。由于内容是敏感的商业数据,我不能在这里发布它。如果可以,我会回答问题。
我知道有些人会说这是留给用户决定的行为,但这是一个内部商业平台。我们没有时间培训所有用户如何管理弹出窗口,我们只需要它在新标签页中打开。即使是新窗口也比弹出窗口更可取,因为您无法在Chrome中对弹出窗口进行停靠。更不用说任何弹出窗口阻止代码都不会影响它。
感谢任何见解。
window.open('data:text/html,' + escape(page_content))
? 编辑:刚试了一下,不行。 - ephemient