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

Jas*_*zek 140 javascript jquery ruby-on-rails

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

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

    // ???

});
</script>
Run Code Online (Sandbox Code Playgroud)

dpa*_*pan 305

以下应该可以工作,但它不会与SEO兼容.最好将标题放在标题标签中.

<script type="text/javascript">

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

</script>
Run Code Online (Sandbox Code Playgroud)

  • 任何javascript生成的HTML都不会与SEO不兼容吗?我很确定googlebot不会执行javascript ... (13认同)
  • @trusktr:我想你正在谈论这篇谷歌文章:[使AJAX应用程序可抓取](https://developers.google.com/webmasters/ajax-crawling/).但它与这类问题无关,所以猎户座爱德华兹是对的.这只是让谷歌通过HTML快照和一些服务器端修改来读取通常使用AJAX生成的内容的方法. (2认同)
  • @OrionEdwards 现在,五年多之后,http://www.rimmkaufman.com/blog/googlebot-crawling-javascript-site-ready/03062014/ (2认同)

小智 47

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

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


小智 40

这适用于所有浏览器......

$(document).attr("title", "New Title");
Run Code Online (Sandbox Code Playgroud)

也适用于IE

  • 这个SEO友好吗? (2认同)

cll*_*pse 36

像这样:

$(document).ready(function ()
{
    document.title = "Hello World!";
});
Run Code Online (Sandbox Code Playgroud)

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

小提示:

$(function ()
{
    // this is a shorthand for the whole document-ready thing
    // In my opinion, it's more readable 
});
Run Code Online (Sandbox Code Playgroud)

  • 您应该将速记事物本身作为新的"问题"发布.有用! (3认同)

Ata*_*hev 16

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

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

});
</script>
Run Code Online (Sandbox Code Playgroud)

  • 是的,实际上,你不能使用`$('title').text(...)`因为[IE中的错误](http://bugs.jquery.com/ticket/7825) (2认同)

Ori*_*rds 5

我在Ruby on Rails中使用了一些嵌套布局,在其中一个布局中,我需要读取div中的字符串并将其设置为文档的标题.

正确的方法是在服务器端.

在你的布局中,在某些时候会有一些代码将文本放在div中.使这段代码也设置一些实例变量,如@page_title,然后在你的外部布局中做它<%= @page_title || 'Default Title' %>


小智 5

document.title不适合我.

这是使用JQuery实现它的另一种方法

$('html head').find('title').text("My New Page Title");
Run Code Online (Sandbox Code Playgroud)

  • 这个SEO友好吗? (2认同)