【问题标题】:Set Browser Title for PDF Page为 PDF 页面设置浏览器标题
【发布时间】:2014-01-02 13:15:58
【问题描述】:

我加载了用户通过 URL 调用单击的 pdf。请参阅以下 javascript:

$("ul.card[data-entry-id]").css("cursor","pointer").on("click",
    function(event)
    {
        document.location = "/archives/entry/" + $(this).attr("data-entry-id");
    }
);

我想更改出现的 pdf 的浏览器标题,使其不仅仅是 url。将document.title("New Title") 添加到功能块不起作用,因为它与返回浏览器中显示的文件的服务器不同步。我该如何克服这个问题?

也许我可以打开一个新页面(而不是更改文档位置),它将 URL 调用包装在 html 中,以便我可以设置标题 - 如下所示:

<html>
    <head>
        <title>New Title</title>
    </head>
    <body>
        <iframe src="/archives/entry/98"></iframe>
    </body>
</html>

这样,我可以设置标题。如何从响应点击的 javascript 功能块中将此 html 写入新页面?提前致谢。

【问题讨论】:

  • 嗯,更改文档位置会打开一个新页面,因此您在调用 document.location 后在当前页面中所做的任何事情都有没有效果,因为加载了一个新页面。

标签: javascript html browser code-generation


【解决方案1】:

您可以通过 ajax 加载数据,而不是更改位置。

$("ul.card[data-entry-id]").css("cursor","pointer").on("click",
    function(event)
    {
        var title = $(this).text();
        var url = "/archives/entry/" + $(this).attr("data-entry-id");
        document.body.innerHTML = "<p>Loading...</p>"; // Or a loading image

        $.ajax(url).done(function(data){
            $(document.body).html(data);
            document.title = title;
        })
    }
);

【讨论】:

    【解决方案2】:

    如果您在 PDF 文档中设置标题,您可以使其显示为您的浏览器标题。

    按照以下说明进行操作:

    http://www.w3.org/TR/WCAG20-TECHS/PDF18.html

    【讨论】:

    • 不幸的是,我正在处理大量尚未设置标题的 pdf。
    【解决方案3】:

    一种 jQuery 方法,对于纯 JavaScript 相对容易修改:

    $('body').html('<iframe src="/archives/entry/98">');
    document.title = "New Title";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多