当我通过AJAX加载新页面时,我当然需要更新HTML标题以匹配新页面。下面的代码是我在过去的项目中成功使用的,但由于某种原因它在这里不起作用。
ajaxLoad = function(html) {
init();
// init google map
initMap();
// change html title
var HTMLtitle = $(".content > section:first-of-type").attr("data-title");
$(document).prop('title', HTMLtitle);
document.title = HTMLtitle;
// Used for popState event (back/forward browser buttons)
changedPage = true;
}
这只是javascript的一部分,如果在实际网站上需要,您可以在上下文中查看其余部分。
直播网站: http://dma.nz/practice/
单击主导航中的右上角链接转到其他页面。在我的测试中,标题似乎有时会在第一页更改时更新,但之后不会对后续页面更改起作用。大多数情况下它根本不起作用,标题永远不会更新。所有这些顶级页面都在数据属性中定义了正确的HTML标题,但是该函数的某些部分失败并且没有更新标题,我找不到它的位置。
任何人都可以就我的错误提供帮助,或者提出更好的方法来更新每个AJAX页面加载的标题吗?
答案 0 :(得分:1)
您已了解initMap函数中的javascript错误
未捕获的TypeError:无法读取属性' firstChild'为null
该异常会破坏该行下方的所有javascript。只需修复它,您的代码就会起作用,就像您的主页一样:http://dma.nz/practice/