2010-12-17 6 views
2

프레임 안에 웹 응용 프로그램이있는 프레임이 있습니다. 그것은 호출 할 수있는 페이지에 특정 자바 스크립트 함수가 존재할 것으로 예상합니다. 부모 응용 프로그램의 iframe에 이러한 javascript 함수를 삽입하려면 어떻게해야합니까?포털 응용 프로그램의 iframe에 javascript 삽입

+2

동일한 출발 정책에 위배되지 않는가? – Robert

+0

@ 로버트 그러나 두 응용 프로그램이 같은 도메인에서 실행되는 경우 어떻게해야합니까? 같은 원산지 정책을 위반하지 않습니다 - http://en.wikipedia.org/wiki/Same_origin_policy#Origin_determination_rules –

답변

2

iframe 내부의 콘텐츠를 제어하는지 여부와 같은 세부 정보는 다소 모호합니다. 그러나 프레임간에 Javascript에 액세스/적용하는 방법에는 여러 가지가 있습니다. iframe이 포함 된 페이지에서

:

parent.FunctionName(); 

이것은 iframe이 포함되어 메인 페이지에있는 함수를 호출합니다. 마찬가지로

:

YourIFrameName.FunctionName(); 

부모로부터 iframe 대응의 함수를 호출합니다.

필요한 Javascript 기능을 .js 파일로 패키지화 할 수도 있습니다. 그리고 필요한 모든 페이지의 헤더 (iframe 및/또는 기본 페이지)에 포함하십시오.

<head>이 포함 :

<script type="text/javascript" src="YourJavascriptFile.js"></script> 

을 그러나 내용을 제어하고 동일 출처 정책으로 실행되지 않는 경우, 두 가지 옵션이 있습니다

1) 재검토를하여 신청.

2) 가능한 혼란 : 당신은 전화 가 포함 된 웹 응용 프로그램의 페이지의 내용을 당겨 약간의 컬 타입의 마법을 수행하는 iframe을에서 스크립트에 필요, 는 출력이 필요한 자바 스크립트를 삽입하고, 의미있는 방식으로 변경된 내용을 .

# 2 경로를 사용해야한다고 결정한 경우 자세한 내용을 편집 할 수 있습니다.

+4

제가 도움이된다면 # 2 난장판에 대해 최근에 블로깅했습니다 : http://benjaminlanders.com/solving 동일 출처 정책 / –

0

로버트 (Robert)가 언급했듯이, 대부분의 (모든 브라우저는 아니지만) 브라우저에서 동일한 원산지 정책을 위반한다고 생각합니다.

또는 iframe에 함수를 주입하려고 시도하는 대신 iframe의 내용을 iframe의 부모로부터 직접 참조하게하는 것이 어떻습니까?

관련 문제