iframe 기록을 이해하려고합니다. 로컬 호스트 서버에서 A와 B 페이지를 만들었습니다. iframe을 사용하여 페이지 A를로드 한 다음 페이지 B에 대한 iframe src를 동적으로 변경합니다. 두 개의 서로 다른 URL을 방문했을 때이 의미가 history.length
= 2일까요? iframe없이 시도 할 때 수행됩니다. 그러나, iframe을 사용하여 반환되는 값 1 만 얻고 있습니까?iframe history.length에 액세스하는 방법
<body>
<div>
<iframe src='/pageA.php' id='myframe' onload='checkHistory()' ></iframe>
</div>
</body>
</html>
<script language="javascript" type="text/javascript" >
function checkHistory()
{
document.getElementById('myframe').src='/pageB.php';
alert("Number of URLs in history list: " + history.length);
}
</script>
오전 나는 제대로 iframe을위한 history.lenght 값에 액세스하거나 iframe에서 document.getElementById('myframe').history.length
보다는 일반 history.length
재산처럼 액세스 할 수 있습니까?
이것은 나를 혼란스럽게 만들었습니다. 나는 페이지 B를 열고 값을 비교하기는하지만 여전히 운이 없기 전에 history.length
값을 저장하려고 시도했다. iframe에는 브라우저 탭 윈도우와 마찬가지로 내부 페이지 방문 기록이 있어야합니까?
무엇은 iframe의 내용이 다른 도메인의 경우 약 ? –
그런 경우 브라우저의 보안 모델은 이러한 세부 정보를 노출하지 않습니다 ... – Bosh
올바르지 않습니다. iframe 내의 탐색은 부모의 history.length 값에 추가되며 가장 최근의 탐색이 프레임 내에 있으면 iframe의 기록에서 처음으로 돌아갈 것입니다. 그러나 당신은 역사의 세부 사항이 가려져 있다는 것이 맞습니다. –