在Safari中的新选项卡中打开text / html Blob

时间:2018-04-23 10:59:26

标签: javascript html printing

我对Safari中的Blob有疑问。我有以下功能:

openTab = () => {
    if (this.printGrid) {
      const url = URL.createObjectURL(
        new Blob([this.wrapHTMLBody(this.printGrid.innerHTML)], { type: 'text/html;charset=utf-16' })
      );
      // eslint-disable-next-line
      window.open(url).print();
    }
  };

在Chrome中,此代码打开一个新标签,加载innerHTML,然后打开打印窗口。打开的HTML看起来像这样:

Picture showing the HTML output

现在,当我在safari中运行时,我得到了这个: Image showing the HTML Output in Safary

因此,Safari基本上将我的内容包装成标签。有谁知道为什么会这样,如果有办法解决它?我在网上找不到这个。

我可以使用文件保护程序js来保存html。但是,然后用户必须打开下载的html并手动打印它,我试图避免。任何帮助,将不胜感激。

0 个答案:

没有答案