몇 년 동안 잘 작동해온 iframe 기반 온라인 도움말 시스템이 있습니다. IE8에서는 location.toString()을 호출하는 javascript 중 일부를 질식시킵니다. 이 동일한 코드는 IE6에서 정상적으로 작동합니다.iframe에서 교차 도메인 통신을 사용하는 방법은 무엇입니까?
특히, 코드는 다음과 같습니다
var iss = parent.left.location.toString();
var isInd = iss.indexOf("indexframe");
내가 오류를 "권한이 거부"얻는다. 문제는 도메인 간 통신과 관련이 있다고 생각합니다. 나는 완전히 이해하고 있는지 확신 할 수 없습니다. 전체 패키지는 로컬 HTML 및 javascript 파일을 사용하여 로컬로 실행됩니다. 한 도메인의 프레임을 다른 도메인의 프레임을 제어하려고하지 않습니다. 아니면 내가 이것이 문제라고 가정 할 때 근거가없는 것일 수도 있습니다.
누군가이 문제를 해결하기 위해 내가해야 할 일을 이해하도록 도와 줄 수 있습니까? iframe이 부모의 문서가 같은 도메인에있는 경우
var f = document.getElementById('IdOfIFrame'),
d = f.contentDocument||f.contentWindow;
alert(d.location);
예. 이것은 나를 괴롭히는 것입니다. 나는 로컬에서 전체 shebang을 실행하고 모든 파일은 로컬입니다. Internet Explorer 8이 다른 도메인에서 실행되는 것으로 보이는 이유를 이해할 수 없습니다. –
로컬 러닝? "file : //"에서와 같이? 아니, 그건 효과가 없을거야. IE는 로컬에서 실행되는 파일에 대해 완전히 다른 보안 제한 사항을 가지고 있습니다. 웹 서버를 통과하고 http : // try IIS express 또는 cassini를 실행해야합니다 –
잘 모르겠습니다. 모든 HTML 도움말 파일이 iFrame에서 로컬로 실행되는 도움말 시스템을 만들 수없는 이유는 무엇입니까? 왼쪽 패널은 오른쪽 패널에서 올바른 HTML 파일을 열도록하는 목차입니다. 그것은 WinXP에서 IE6에서 잘 작동했습니다. –