이다 나는이처럼 보이는 몇 가지 자바 스크립트가 : 나는 http://example.com
에 iframe이로로드하여 https://secure.example.com
에서 myVar
에 액세스하기 위해 노력하고있어document.domain을 같은 그러나 아직도 받고 동일 출처 오류
// https://secure.example.com
document.domain = "example.com";
window.myVar = "value";
// http://example.com
document.domain = "example.com";
var iframe = document.body.appendChild(document.createElement("iframe"));
iframe.onload = function() {
console.log(iframe.contentWindow.myVar);
}
iframe.src = "https://secure.example.com";
합니다. http
및 https
의 사용에 유의하십시오. 두 도메인 모두 http
또는 https
을 사용할 때이 기능이 작동하지만 지금은 http
을 사용하고 다른 하나는 https
을 사용하고 싶습니다. document.domain
이 올바르게 설정되었는지 확인하기 위해 코드를 밟았습니다. 왜 이런 일이 일어나는 걸까요? MDN의 페이지 How to fix a website with blocked mixed content을 바탕으로
HTTP 및 HTTPS는 example.com:80가 같은 기원이 아닌 것처럼, 같은 기원되지 않음 example.com:8080으로 http와 https를 혼합 할 수없는 좋은 이유가 있습니다. – mplungjan
분명히 그렇습니다. 그러나'document.domain' 설정이 프로토콜 검사에 영향을 미치지 않거나 영향을주지 않는 것에 대한 정보를 찾을 수 없습니다. – Max
관련 없음 https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy – mplungjan