當我通過AJAX加載新頁面時,我需要更新HTML標題以匹配新頁面。下面的代碼是我在過去的項目中成功使用的,但由於某種原因,它在這裏不起作用。在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的一部分,如果需要在活動網站上,您可以在上下文中查看其餘部分。
單擊主導航欄的右上角的鏈接轉到其他頁面。在我的測試中,標題似乎在第一頁更改時有時會更新,但從未在隨後的頁面更改中工作。大多數時候它根本不起作用,標題從不更新。所有這些頂級頁面都在數據屬性中定義了正確的HTML標題,但是該函數的某些部分失敗並且沒有更新標題,我無法找到它的位置。
任何人都可以提供幫助,我做錯了什麼或提出一個更好的方法來更新每個AJAX頁面加載標題?
檢查你的控制檯,你有一個錯誤:'未捕獲的類型錯誤:無法讀取'null'屬性'firstChild'。 –
@RoryMcCrossan謝謝我意識到這一點。我認爲這與我的谷歌地圖API代碼有關,我一直在努力在AJAX加載的頁面上工作。那個錯誤,即使不相關,會導致我的HTML標題更新失敗? –
什麼是$(document).prop('title',HTMLtitle);'用於? – madalinivascu