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;
}
이것은 자바 스크립트의 일부이며 나머지는 라이브 사이트에서 필요한 경우 컨텍스트로 볼 수 있습니다.
라이브 사이트 :http://dma.nz/practice/
다른 페이지로 이동 메인 탐색의 오른쪽 상단 링크를 클릭합니다. 내 테스트에서 제목은 첫 번째 페이지가 변경 될 때가끔 업데이트되는 것으로 보이지만 후속 페이지 변경시에는 작동하지 않습니다. 대부분의 경우 전혀 작동하지 않으며 제목이 업데이트되지 않습니다. 모든 최상위 페이지에는 데이터 속성에 정의 된 적절한 HTML 제목이 있지만 함수의 일부분이 실패하고 제목을 업데이트하지 않아서 어디에서 borked인지 찾을 수 없습니다.
누구든지 내가 잘못하고있는 것에 대한 도움을 주거나 각 AJAX 페이지로드시에 제목을 업데이트하는 더 좋은 방법을 제안 할 수 있습니까? 당신이 initMap 기능
Uncaught TypeError: Cannot read property 'firstChild' of null
에서 자바 스크립트 오류를 인식하고 따라
콘솔에서 다음과 같은 오류가 있습니다. '잡히지 않은 유형 오류 :'firstChild '속성을 읽을 수 없습니다. –
@RoryMcCrossan 고맙습니다. 내 Google Maps API 코드와 관련이 있다고 생각하는데, AJAX가로드 한 페이지에서 작업하기 위해 다소 어려움을 겪고 있습니다. 이 오류가 관련이 없더라도 내 HTML 제목이 업데이트되지 않게합니까? –
'$ (document) .prop ('title', HTMLtitle);은 무엇을 위해 사용됩니까? – madalinivascu