【问题标题】:Set tab title on javascript window.open to show PDF file在 javascript window.open 上设置选项卡标题以显示 PDF 文件
【发布时间】:2017-04-07 16:57:22
【问题描述】:

我正在打开一个新选项卡以显示 PDF 文件。我有一个字节数组上的 PDF 文件数据,基数为 64。

我能够获取数据,并显示它这样做:

downloadFile(strData, name) {
    var newdata = "data:" + "application/pdf" + ";base64," + (strData);
    var newWindow = window.open(newdata, "_blank");
    newWindow.onload = function() { document.title = "My title"; }
return true;
}

我遇到的问题是我无法将标题设置为打开的新标签页。

我想设置一个标题,如“PDF 文件”或只是文档的名称(我分别获取文件数据和文件名并将其传递给我的 downloadFile 函数。

有什么方法可以设置这个标签的标题吗?先谢谢了!

【问题讨论】:

    标签: javascript html google-chrome pdf window.open


    【解决方案1】:

    试试这个:

      ....
      var newWindow = window.open(newdata, "_blank");
      newWindow.document.title = "Some title";
      ....
    

    编辑:

    执行此操作的另一种方法可能是将 iframe 发送到新窗口,而不是直接使用 base64 字符串打开它。

    比如:

    var newWindow = window.open();
    newWindow.document.write('<iframe src="data:application/pdf;base64,' + (strData) + '" frameborder="0" allowfullscreen></iframe>');
    newWindow.document.title = "Your Title Here";
    

    【讨论】:

    • 嗨!感谢您的回答,不幸的是,这不起作用。标题仍然是“数据:”
    • @melli-182 相反,您可以尝试查看this 答案。它建议使用setTimeout 来确保在尝试设置标题之前实际加载了文档。
    • 感谢您的提示。不幸的是仍然无法正常工作。我正在尝试找到一个解决方案,我会尽快更新它。感谢您的宝贵时间!
    • @melli-182 我又添加了一个可能可行的建议。
    • 完美!这个解决方案真的很有帮助!感谢您的时间和合作!
    【解决方案2】:

    这对我有用。

    var newWindow = window.open(newdata, "_blank");
    setTimeout(function(){ newWindow.document.title = 'my new title'; }, 1000);
    

    【讨论】:

      猜你喜欢
      • 2020-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多