MyDomain.com에 두 페이지가 있습니다. MyDomain.com/ 및 MyDomain.com/Foo/Bar에서 볼 수있는 인덱스보기입니다. 각보기에는 다른보기에 대한 ajax 호출이 있으며 각보기는 HTML5 기록 API를 사용하여 상태를 푸시합니다.기록 API 및 도메인 수준 URL
문제 생성 단계가 있습니다 : (. 작품이 예상대로) MyDomain.com/에서
- 시작을
- 는 아약스 MyDomain.com/Foo/Bar/ 링크 (작품을 클릭 예상대로 기대하는 것은.)
- MyDomain.com/ (작품에 아약스 링크를 클릭하십시오.)
- 이제 MyDomain.com/Foo/Bar/
에 아약스 링크를 클릭합니다 URL은 MyDomain.com/으로 표시됩니다. Foo/Foo/Bar/
Foo Foo Bar가 필요하지 않습니다.
현재의 해결 방법은 "../../../"을 URL 앞에 추가하는 것입니다. 그러나 이것은 우아하고 단순하지 않습니다. 또 다른 옵션은 디렉토리 레벨을 계산하는 정규 표현식입니다.
History API를 사용하여 절대 URL을 얻는 더 좋은 방법이 있습니까?
function push(updateElementID, controller, action, url)
{
if (typeof url == "undefined")
{
url = "/" + controller + "/" + action;
}
var state = {
id: updateElementID,
controller: controller,
action: action
}
history.pushState(state, null, url);
}