如何在 .ready() 期间更改文档的标题?

IT技术 javascript jquery ruby-on-rails
2021-02-23 06:01:46

我在 Ruby on Rails 中使用了一些嵌套布局,在其中一个布局中,我需要从 div 中读取一个字符串并将其设置为文档的标题。设置文档标题的正确方法(如果有)是什么?

<script type="text/javascript">
$(document).ready(function() {

    // ???

});
</script>
6个回答

以下应该有效,但它不会与 SEO 兼容。最好将标题放在标题标签中。

<script type="text/javascript">

    $(document).ready(function() {
        document.title = 'blah';
    });

</script>
对我来说在 FF 29.0.1 中不起作用,但下面描述的这个解决方案有效:stackoverflow.com/a/11171548/1915920
2021-04-15 06:01:46
任何 javascript 生成的 HTML 不会与 SEO 不兼容吗?我很确定 googlebot 不会执行 javascript...
2021-04-17 06:01:46
2021-05-04 06:01:46
我读到有一些方法可以告诉 Google Bot 当您的页面是使用 Ajax 制作时要阅读的内容……尝试使用谷歌搜索。
2021-05-10 06:01:46
@trusktr:我认为您在谈论这篇 Google 文章:使 AJAX 应用程序可抓取但这与此类问题无关,所以 Orion Edwards 是对的。这只是一种让 Google 读取通常由 AJAX 生成的内容的方法,通过 HTML 快照和一些服务器端修改。
2021-05-14 06:01:46

不要使用$('title').text('hi'),因为 IE 不支持它。

最好使用 document.title = 'new title';

这在所有浏览器中都可以正常工作...

$(document).attr("title", "New Title");

也适用于 IE

像这样:

$(document).ready(function ()
{
    document.title = "Hello World!";
});

如果您希望您的网站被搜索引擎正确索引,请务必设置默认标题。

一个小技巧:

$(function ()
{
    // this is a shorthand for the whole document-ready thing
    // In my opinion, it's more readable 
});
您应该将速记内容本身作为一个新的“问题”发布。有用!
2021-04-16 06:01:46
不知道我理解你,MDCore。
2021-04-20 06:01:46
Jeff 建议将 stackoverflow 用于那些可能放在博客上的技术提示。我建议将提示发布为您自己回答的新问题。
2021-05-13 06:01:46
<script type="text/javascript">
$(document).ready(function() {

    $(this).attr("title", "sometitle");

});
</script>
为什么不document.title呢?
2021-04-25 06:01:46
是的,实际上,$('title').text(...)由于IE 中错误,您无法使用
2021-05-06 06:01:46