JavaScript에서 iFrame 요소 액세스: 원본 간 제한 해결
iframe이 포함된 웹페이지로 작업할 때 해당 iframe 내의 요소에 액세스하면 다음과 같은 문제가 발생할 수 있습니다. 도전. 이는 JavaScript를 사용하여 상위 페이지에서 iframe 내에 로드된 하위 페이지 요소와 상호작용하려고 할 때 자주 발생합니다.
문제:
주어진 시나리오에서 , 목표는 iframe 내에 있는 텍스트 영역 요소의 값을 읽는 것입니다. 그러나 window.parent.getelementbyID().value 메서드를 사용하면 원하는 값을 검색하지 못합니다.
해결책:
여기서 핵심 고려 사항은 교차입니다. iframe 요소의 원래 특성입니다. iframe이 상위 페이지가 아닌 다른 출처(도메인)에서 로드된 경우 브라우저의 보안 정책에 따라 iframe 요소에 대한 직접 액세스가 차단됩니다.
다른 출처에서 iframe의 요소에 액세스하려면 다음 단계를 따르세요. 촬영:
구현:
동일한 출처에서 로드된 iframe의 경우 다음 코드를 사용할 수 있습니다. 텍스트 영역 요소에 액세스하는 데 사용됩니다.
<code class="js">window.frames['myIFrame'].document.getElementById('myIFrameElemId')</code>
iframe이 다른 출처에서 온 시나리오의 경우 CORS 또는 postMessage API와 같은 출처 간 통신 기술을 포함하는 대체 접근 방식을 취해야 합니다. 그러나 이를 위해서는 양쪽에 특별한 설정과 구성이 필요합니다.
위 내용은 JavaScript의 교차 출처 제한을 통해 iFrame 요소에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!