2013-06-04 2 views
0

크롬, 사파리 및 파이어 폭스에서 작동하는 단일 페이지 응용 프로그램을 얻으려고했지만 파이어 폭스가 window.onpopstate를 전혀 실행하지 않는 것 같습니다.Firefox는 Chrome 및 Safari와는 다른 방식으로 window.onpopstate를 처리합니까?

window.onpopstate = function() { 
    fullpath = location.pathname; 
    console.log(fullpath); 
} 

내가 index.html을 다시 모든 요청을 라우팅 그래서 클라이언트가 요청하면, 브라우저가 자바 스크립트 변수로 URL을 저장하고 index.html을에서 JS를 통해 전달 htaccess로이

firefox에서 실행할 때 변수는 index.html 페이지로 전달되지 않습니다. 누구든지이 문제에 대해보다 깊이 조사하는 방법에 대한 해결책이나 제안 사항이 있습니까? the Firefox popstate documentation에서

+1

언제 발사되지 않나요? 페이지로드시 또는 사용자가 탐색 할 때? 페이지로드시 – epascarello

+0

변수가로드되지 않습니다. – Emanegux

+1

그래서 현재 URL로 페이지로드시 변수를 설정하십시오. – epascarello

답변

2

:

브라우저는 페이지로드 다르게 popstate 이벤트를 처리하는 경향이있다. Chrome 및 Safari는 항상 페이지로드시 팝업 상태를 표시하지만 Firefox는 표시하지 않습니다.

epascarello는 자신의 의견에서 load 이벤트에서 변수를 초기화 했으므로 모든 것이 Chrome/Safari 및 Firefox에서 작동해야합니다.

+0

그리고 IE 용 해시 태그 폴백을 사용하는 것이 좋습니다. – Emanegux

+0

@Emanegux 충분한 가치가있는 IE 사용자가있는 경우에는 그렇습니다. [IE10에는 지원이 있습니다.] (http://caniuse.com/history). – robertc

+0

FireFox, IE10 등은 HTML5 표준 준수 동작을 나타냅니다. https://code.google.com/p/chromium/issues/detail?id=63040에 Chrome을 적용하여 Chrome을 푸시하십시오. – Dave

관련 문제