【问题标题】:Is there a way, using jQuery, to change the document.title after the page has loaded?有没有办法使用 jQuery 在页面加载后更改 document.title?
【发布时间】:2009-09-30 20:44:53
【问题描述】:

我把自己编码到了一个角落里。有人知道答案吗?谢谢!

【问题讨论】:

标签: jquery html title


【解决方案1】:

这也可以:

$('title').text("Boo");

【讨论】:

  • 不知道为什么我无法获取 document.title 或 this.title,但 Vincent 的方法成功了。我想,在我的问题中,我应该更具体地说明我在做什么。我正在抓取 html 正文末尾附近的 div 内容并将其写到页面标题中。如果我找出问题所在,我会在这里发布。
  • 在 IE8 中不起作用 - “意外调用方法或属性访问。”
  • 这不是跨浏览器解决方案。下面提到的$(document).attr('title', 'new title');更好。
  • 关于这样的方法如何影响 Google 索引网站的任何想法?我知道页面标题很重要... google 包含原始页面标题还是新页面标题?
【解决方案2】:
document.title = 'new value';

这不适合你吗?

【讨论】:

  • 奇怪的是没有。我可以读取 document.title 的值,但似乎无法更改显示。我已经尝试将它设置在文档的头部和正文中。
  • @subbit,您确定您的浏览器没有阻止您更改标题吗?检查浏览器的选项。
【解决方案3】:

试试:

$(document).ready(function() {
    this.title = 'foo'
})

【讨论】:

  • 这对我有帮助。有时(在 FF 和 Chrome 中),即使网站没有完全加载,也会尝试这些东西。因此,它可能无法按预期工作......
【解决方案4】:

也许这会对你有所帮助:

$(document).attr('title', 'new title');

【讨论】:

    【解决方案5】:

    $('title').text("Boo"); 不是一个好主意,因为 IE8 有这个问题。
    这个错误报告了Here,但是 jQuery 开发人员没有解决这个问题,他们的解决方案是 使用@ 987654323@.

    我的想法是这样的

    1. 使用document.title 是最佳选择,它是跨浏览器解决方案
    2. 但是如果你习惯使用 jQuery 你可以使用$(document).attr('title', 'new title');。我测试了一下,主流浏览器和IE8都没有问题

    【讨论】:

      猜你喜欢
      • 2012-08-10
      • 2011-06-26
      • 2011-09-16
      • 2019-01-08
      • 2021-12-25
      • 2016-09-20
      • 2011-12-15
      • 1970-01-01
      • 2021-07-29
      相关资源
      最近更新 更多