2016-10-06 3 views
0

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

에서 자바 스크립트 오류를 ​​인식하고 따라

+0

콘솔에서 다음과 같은 오류가 있습니다. '잡히지 않은 유형 오류 :'firstChild '속성을 읽을 수 없습니다. –

+0

@RoryMcCrossan 고맙습니다. 내 Google Maps API 코드와 관련이 있다고 생각하는데, AJAX가로드 한 페이지에서 작업하기 위해 다소 어려움을 겪고 있습니다. 이 오류가 관련이 없더라도 내 HTML 제목이 업데이트되지 않게합니까? –

+0

'$ (document) .prop ('title', HTMLtitle);은 무엇을 위해 사용됩니까? – madalinivascu

답변

1

는 그 예외는 모든 자바 스크립트 그 라인 아래에 나옵니다. 그냥 수정하면 메인 페이지처럼 코드가 작동합니다 : http://dma.nz/practice/

+0

그 문제를 해결하려고하지만 아직 해결책을 찾지 못했습니다. 사이트의 일부를 작동 시키려면 다른 사이트를 해체해야합니다! 한 번에 모든 것이 함께 작동하는 것이 어렵다는 것을 증명합니다. 그 오류를 해결하는 방법을 알아 내면 다시보고하겠습니다. 감사. –

+0

일시적으로이 오류가 발생하는 부분을 사용 중지했으며 문제가 해결 될 것으로 보입니다. 바보 같은 질문에 사과드립니다. 먼저 오류를 해결해야한다고 생각 했어야합니다. –