window.history.pushState
으로 상태를 브라우저의 기록으로 푸시 할 수 있습니다.IE (> 10) 및 Edge에서 브라우저의 기록을 푸시하는 방법은 무엇입니까?
예 :
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<input type="button" value="foo" onclick="setHistory('foo');">
<input type="button" value="bar" onclick="setHistory('bar');">
<script>
function setHistory(string) {
document.title = string;
window.history.pushState(
'object or string',
'',
string+'.html'
);
}
</script>
</body>
</html>
응답 항목이 브라우저의 기록에 나타납니다 foo는 바 버튼을 클릭 한 후. Firefox, Chrome 및 Safari에서 작동합니다. 그러나 공식적으로 지원하더라도 IE (> 10) 및 Edge에서는 그렇지 않습니다. 이것을 달성 할 수있는 방법이 있습니까?
Does Internet Explorer support pushState and replaceState?의 답변은 pushState
이 지원되지 않는 IE < 10과 관련된 문제 만 설명하므로 유용하지 않습니다.
편집 외에도 역사를 업데이트하지에서
, pushState
즉이 업데이트되면, "앞뒤로 드롭 다운 목록", 앞뒤로 이동할 수 있습니다 URL을 업데이트, IE와 가장자리에, 그렇지 않으면 좋은 작품을 보인다 따라서.
편집 2
난 그냥 https://msdn.microsoft.com/en-us/library/ms535864(v=vs.85).aspx를 참조하십시오. "비고"에서 상태가
"보안을 위해 기록 개체는 브라우저 기록에 실제 URL을 노출하지 않습니다."
어쩌면 pushState
의 일부는 IE와 Edge에서 지원되지 않습니다.
다음은 replaceState와 유스 케이스를 사용한 예입니다. http://blog.scoutapp.com/articles/2010/12/07/manipulating-browser-history-with-javascript-pushstate-replacestate –
@RobParsons Thanks. 하지만 IE/Edge의 문제에 대한 해답이 있습니까? – Daniel
http://www.w3.org/TR/html5/browsers.html#dom-history-pushstate "6. 내 주소에 신경 쓰지 않기를 바랍니다. 6. 문서의 주소를 새 URL로 설정하십시오. 탐색 컨텍스트 또는 내역 탐색을 탐색하지 않습니다 ... " – user4749485