javascript - AJAX 页面加载后更新 HTML 标题

标签 javascript jquery ajax html-title

当我通过 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 页面加载的标题吗?

最佳答案

正如您所知,initMap 函数中存在 JavaScript 错误

Uncaught TypeError: Cannot read property 'firstChild' of null

该异常会破坏该行以下的所有 JavaScript。只需修复它,您的代码就会正常工作,就像您的主页一样:http://dma.nz/practice/

关于javascript - AJAX 页面加载后更新 HTML 标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39889234/

相关文章:

javascript - 复制一个 HTML 表中的所有行并附加到另一表

Jquery 依赖的下拉菜单在 IE 中不起作用

javascript - (Spotify Web API) 创建新播放列表 - POST 请求返回 'Error 403 (Forbidden)'

javascript - 使用 jquery 获取 div 的下一个类

javascript - 未捕获的类型错误 : Cannot read property 'parentNode' of undefined

javascript - 无法在 React 中处理 net::ERR_CONNECTION_REFUSED

javascript - 用新链接替换网站上的大量旧链接? (客户端)

javascript - ember js 表单提交查看

javascript - 如何防止所有表行同时切换

javascript - jquery 和 ajax。如何检索该字段的数据并返回到正确的复选框