2011-01-26 3 views
2

iframe이 내부에서 상위 페이지에 함수를 호출 할 때IE8 오류가 나는 다음과 같은 코드 기능이있는 부모 페이지가

파이어 폭스와 크롬에서

<a href="#" onclick="parent.testfunction();">Test</a> 

:

<iframe src="testinside.htm"></iframe> 

Testinside.htm 상위 페이지에 함수를 호출이 링크가 이 모두는 잘 작동하지만, IE8에서,이 오류 메시지가 얻을 :

개체가이 속성 또는 메서드 내가 잘못했을 무엇

를 지원하지 않습니다?

답변

1

window.parent.testfunction()을 사용해 보셨습니까? 나는 이것과 비슷한 이슈를 떠 올릴 것 같다.

는 그냥 IE이 실패 이유를 추측하기 위해 노력하고있어

window.testfunction = function(){}...

으로 부모 함수를 정의 노력했다. 아마도 전역 함수는 IE의 window에 자동으로 바인딩되지 않습니다.

알아낼 수 없다면 hasBeenClicked 메서드가 true을 반환 할 때까지 기다리는 동안 부모에서 자식으로 폴링을 시도 할 수 있습니다. 일부

http://www.psychiatrist.com/psychstalk/test/test.htm 

:이 URL로 테스트를로드 확인 후

<iframe src="http://www.psychiatrist.com/psychstalk/test/testinside.htm"></iframe> 

:

<script type="text/javascript"> 
    function testfunction() { 
     alert('hi'); 
    } 
</script> 

와 iframe이에 :

+0

'부모'는 상위 프레임 만 참조하고 상위 프레임의 전역 개체는 참조하지 않는다는 의심을 품고 있습니다. 작동하지 않는다면,'window.parent.window.testfunction()'을 시도하십시오. –

+0

유감스럽게도, 나는 그것을 시도해 보았습니다. 내가 창문을 보겠습니다. 부모님. 창녀. 부모님. –

+0

새로운 제안을 추가했습니다. –

3

에 스크립트 섹션을 변경해보십시오 스크립트가 작동하려면 "text/javascript"유형이어야합니다. 다음 문제는 도메인 간 문제입니다. iframe src은 반드시 상위 URL과 정확히 일치해야합니다.

+0

유형이 "text/javascript"가 아닌 다른 것으로 설정되면 IE8이 실제로 이상하게 (부모가없고, window.parent 개체가) 작동하지 않을 수 있습니다. – gabomdq

0

나는 비슷한 문제가있었습니다.

나는 부모 iframe에 성공하지
<script type="text/javascript" src="example.js"/> 파일을 정의 된 변수에 액세스하려고하지만되었다 내가 <script type="text/javascript"> var myVar = ""</script>에 iframe이의 몸에 모든 작품을 변수 정의를 움직일 때.