我相信这很简单,但我没有明白。如何在加载ajax内容时更改根页面的页面标题?
我正在使用以下AJAX脚本从外部页面的特定div加载内容到我的根页面上同名的div。
$(function() {
var newHash = "",
$mainContent = $("#main-content"),
$pageWrap = $("#page-wrap"),
$el;
$(document).delegate(".dyn a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
$(window).bind('hashchange', function(){
newHash = window.location.hash.substring(1);
if (newHash) {
$mainContent
.find("#guts")
.fadeOut(200, function() {
$mainContent.hide().load(newHash + " #guts", function() {
$mainContent.fadeIn(200, function() {
$pageWrap.animate({
});
});
$(".dyn a").removeClass("current");
$(".dyn a[href="+newHash+"]").addClass("current");
});
});
};
});
$(window).trigger('hashchange');
});
有人可以帮我改变页面标题的标题,我正在加载页面的标题吗?
我已经尝试使用:
var newTitle = $(responseHtml).filter('title').text();
document.title = newTitle;
因为它在this后,几乎工作,但停止了AJAX正常提及。我不确定,但是我是否把它放在正确的地方。
在此先感谢!
谢谢@GitaarLAB。你会把这个放在我的代码中?我尝试过:'newTitle = $(responseHtml).filter('title')。text()'在顶部的var部分,'window.top.document.title = newTitle;'在hashchange触发器之后,工作。 – AshBestos 2012-07-25 15:51:33
phieuw,我只是知道这是一个肯定的方式来到你最外面的'root'页面。如果我有更多的工作测试代码,并且如果我在哪里你,我会放置一些console.log/alert命令来验证我至少在我的var中有responseHtml的标题。我也会测试,直到在源代码中我可以访问/阅读根页面的标题。 PS:你确定你没有反对跨域安全吗?这两个页面都位于同一个域中吗?希望这可以帮助。 – GitaarLAB 2012-07-25 16:17:00
[此解决方案如何](http://stackoverflow.com/a/10934431/588079)适合您吗? – GitaarLAB 2012-07-25 18:18:51