【问题标题】:jquery - Can you manipulate page titles?jquery - 你能操纵页面标题吗?
【发布时间】:2009-12-13 19:30:08
【问题描述】:

我想我在某处听说过您不能使用 jquery 来操作内容...对吗?基本上,我有一个站点,它具有诸如 p.php?d=keyword+keyword+keyword 之类的参数,并且我希望能够根据该 d 参数中的内容来设置标题...有没有办法做到这一点?

【问题讨论】:

  • 你为什么不用 PHP 来做呢?
  • 我同意在服务器上这样做会更合乎逻辑。
  • 也许他正在做某种 AJAXy 事情,他希望标题跟上当前的页面状态。诚然,这是一件很奇怪的事情,但是......?
  • 确保你转义了 d 参数。您不希望任何人将 d 设置为:

标签: jquery parameters title


【解决方案1】:

你不需要 jQuery:

document.title = 'Some text';

【讨论】:

  • @cobbal 完全不同意。最好做有效率的事情。创建一个新的 jQuery 对象 ($()),在整个文档中调用一个无范围的 title 搜索,然后调用一个附加函数来设置标题比引用现有对象的属性效率低得多。这是更好的方法。
  • 我认为按照这种逻辑你永远不需要 jQuery。另外,我认为页面标题的变化不会成为瓶颈。
【解决方案2】:
$('title').text("some text");

【讨论】:

  • 这在 IE6 或更早的 Firefox 版本 (3.0) 中不起作用。使用 document.title。
【解决方案3】:

如果你真的想在客户端用 JavaScript/jQuery 做,试试这个:

// get query arguments
var $_GET = {},
    args = location.search.substr(1).split(/&/);
for (var i=0; i<args.length; ++i) {
    var tmp = args[i].split(/=/);
    if (tmp[0] != "") {
        $_GET[decodeURI(tmp[0])] = decodeURI(tmp.slice(1).join(""));
    }
}

// change title of document
if (typeof $_GET["d"] == "string") {
    $("title").text($_GET["d"]);
}

【讨论】:

  • 对于一个可以使用 document.title 解决的小问题的代码太多
猜你喜欢
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多