은 순수한 자바 스크립트를 사용하여 IFrame에 액세스 할 때 몇 가지 조언이 필요합니다.IFrame 및 요소에 액세스
컨텍스트 : "Func1"기능이 포함 된 JS 스크립트 "A.JS"가 있습니다. 페이지에서이 기능이 IFrame을 무작위로 생성되고 있습니다
<script> A.Func1();</script>
<iframe src='xyz.com' title='Hello' type='portlet.iframe' > </iframe>
아래와 같이 IFrame을 마우스 오른쪽 버튼 전에 호출됩니다, 그래서 실행 시간에 그 ID와 이름을 알 수 없습니다. 따라서 내가 접근 할 수있는 유일한 방법은 IFrame의 배열에 핸들을 가져 와서 각각의 제목을 통해 올바른 것을 식별 할 때까지 루프를 반복하는 것입니다.
JS 함수 호출은 IFrame의 앞/위입니다.
내 기능이 Func1()
인 지금 내 코드는 다음과 같습니다. 올바른 IFrame에 대한 핸들을 얻으려고했지만 아래의 모든 메서드가 0 배열의 배열을 반환합니다. 크롬 버전 29에서이 작업을 일시 중지하고보고 있습니다. 사실 마지막 배열 iframeNodesAll4
은 "Windows"를 가치로 보여줍니다!
var iframeNodesAll1 = document.getElementsByTagName("iframe");
var iframeNodesAll2 = window.parent.document.getElementsByTagName("iframe");
var iframeNodesAll3 = window.document.getElementsByTagName("iframe");
var iframeNodesAll4 = window.frames;
그럼 내가 무엇을 놓치고 있습니까? 스크립트가 IFrame 전에 호출되거나로드되기 때문입니까?
감사합니다.
스크립트가 실행되는 순간에는 존재하지 않는 요소에 대한 참조를 얻을 수 없습니다. –