为PDF页面设置浏览器标题

时间:2013-12-14 22:36:22

标签: javascript html browser code-generation

我加载了用户通过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的浏览器标题,以便它不仅仅是网址。将document.title("New Title")添加到功能块不起作用,因为它与服务器不同步,返回正在浏览器中显示的文件。我怎么能克服这个?

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

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

就这样,我可以设置标题。如何从javascript功能块中将这个html写入新页面我对响应点击有什么响应?提前谢谢。

3 个答案:

答案 0 :(得分:2)

您可以通过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;
        })
    }
);

答案 1 :(得分:1)

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

请按照以下说明操作:

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

答案 2 :(得分:1)

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

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