2009-10-04 3 views
1

자바 스크립트에서 세미 멍청이다.부모로부터 iFrame에서 자바 스크립트 실행

그래서 지난 2 일 동안 나는 googleing을 해왔으며 나에게있어 부모 페이지의 iframe에서 함수를 실행하는 방법을 알 수 없습니다. iframe의 페이지는 다른 도메인에 있고 실행될 코드는 일반적으로 링크를 통해 실행되지만 사용자가 링크를 클릭하지 않아도 실행되도록하고 싶습니다.

나는 약간의 의미가 있기를 바랍니다. 너희들이 내가 지금까지 가지고있는 것을보고 싶다면, 내가 알기는하지만, 그것이 전혀 효과가 없기 때문에 많은 도움이 될 것이라고 생각하지 않는다.

+0

iframe에 자바 스크립트를 다시로드하면 어떻게 될까요? 아니면 원래의 자바 스크립트가 더 복잡해? –

+0

그리고 다시 같은 질문 : http://stackoverflow.com/search?q=javascript+iframe+parent – Peter

답변

4

AFAIK, can not execute JavaScript 대부분의 브라우저에서 보안 제한으로 인해 다른 프레임의 다른 도메인에서 나타납니다 (확실히 Mozilla).

Yahoo! Pipes으로 그 주위의 소문을 들었지만 그 사실을 알지 못해서 결코 조사하지 않았다고 고백해야합니다.

"동일한 출처 정책 대안"을 google로 설정하고 나와있는 해결 방법 중 하나라도 귀하의 목적에 부합하는지 확인하십시오.

+0

나는 페이지를 보는 동안 URL 바에 타이프함으로써 스크립트를 실행할 수있다. 비슷한 것을 할 수있다. iframe? 파이프를 가져 주셔서 감사합니다, 나는 그것에 대해 조사 할 것입니다. –

+1

아니요 - 위치 표시 줄에 입력 할 때 보안 사용 권한은 로컬이고 프레임에서 실행되는 JS는 웹 페이지가 시작된 도메인과 관련된 사용 권한이 있기 때문입니다. 계속해서 할 수있는 한 가지 방법은 IFRAME의 전체 내용을 읽고, IFRAME의 위치를 ​​자신의 도메인에있는 URL로 변경하고, HTML + JS의 내용을 해당 IFRAME에 다시 쓰는 것입니다. 이는 JS가 삽입되고 페이지에 상대 도메인 URL이없는 경우에만 작동합니다. – DVK

+0

나는 전에 그 일을 겪었지만 그 페이지에는 많은 PHP가 필요하기 때문에 불가능하다. 나는 iframe을 그들이 클릭 할 필요가있는 곳으로 스크롤 할 수있게 만들 것이라고 생각하며 잘 작동 할 것입니다. 도움을 주셔서 대단히 감사합니다. 아마도 지금은 불가능한 일을하려고 노력하고있을 것입니다. –

0

https://developer.mozilla.org/en/Same_origin_policy_for_JavaScript은 한도로 페이지의 도메인을 조정하는 한 가지 방법을 설명합니다.

동일한 출처 규칙에 한 가지 예외가 있습니다. 스크립트는 document.domain의 값을 현재 도메인의 접미사 으로 설정할 수 있습니다. 그렇게하면 보다 짧은 도메인이 이후의 원본 검사에 사용됩니다. 같은 http://ajaxian.com/archives/crossframe-a-safe-communication-mechanism-across-documents-and-across-domains 같은 도메인 경계를 흐리게하지 않는 프레임 사이에 의사 소통의 다른 방법이 있습니다

예를 들어, 는 http://store.company.com/dir/other.html 에서 문서의 스크립트가 다음 문을 실행 가정합니다.

관련 문제