2010-06-28 4 views
0

이 문제는 다소 이상하며 Firefox (3.6.6뿐만 아니라 이전 버전의 3.6)에서만 발생합니다. 가장 좋은 방법은 여기 ..이 시나리오를 설명하는 것입니다 설명, 그렇게하기 : 페이지-A & 페이지-B :HTML 프레임 상호 작용 및 자바 스크립트 : Firefox 문제

  1. 나는 두 개의 HTML 페이지를 가지고있다. Page-A에는 iframe 요소가 들어 있으며, 소스는 Page-B를 가리 킵니다.
  2. Page-B에는 JavaScript 기능이 포함되어 있습니다 : foo. 이 예제의 경우이 함수는 경고 만 표시합니다. 페이지-A를 처음로드 할 때
  3. , 난이 같은

자바 스크립트 기능을 iframe을 얻을하고 실행할 수있어 지금 정상 보이는

window.frames["frameName"].foo(); 

까지. 그러나 동적으로 페이지 -A에서 iframe을 제거한 다음 동적으로 페이지에 추가하면 다음과 같은 결과가 발생합니다.

** iframe의 인스턴스를 가져올 수 있습니다. window.frames [ "frameName"]

** foo() 함수를 실행하려고하면 정의되지 않은 오류가 발생합니다.

이 문제는 Firefox에서만 발생합니다. Testes in : IE 7/8, Chrome & Safari - 정상적으로 작동합니다.

왜 이런 일이 발생하는지 알고 싶습니다. 어떻게 해결할 수 있습니까?

+0

일부 코드를 표시 할 수 있습니까? 어디에서 동적으로 추가합니까? –

답변

0

window.frames["frameName"].contentWindow.foo();

+0

contentWindow를 사용하면 JavaScript 코드가 노출되지 않으므로 모든 브라우저에서 작동하지 않습니다. – user123093

+0

실제로 그렇게합니다. 다른 일이 벌어지고있는 것 같아요. 프레임을 추가하고 제거하는 코드를 표시해야합니다. –

+0

좋아요, 부분적으로 다시 가져옵니다. 모든 브라우저에서 올바르게 작동하게하려면 다음과 같이 호출해야합니다. document.getElementById ("frameName"). contentWindow.foo(); window.frames를 사용하여 호출하면 Firefox에서 동일하게 작동하지 않습니다. 감사합니다 :) – user123093