2009-09-18 12 views
3

이 설정입니다 내가하고 싶은 일 :크로스 도메인 팝업 창이

  1. 사용자가 www.website1.com에 있고 링크를 클릭하면 www.someotherwebsite.com을 표시하는 팝업 창이 나타납니다.

  2. 사용자가 팝업 창 (www.someotherwebsite.com 표시)에서 버튼을 클릭하면 해당 창이 닫히고 값이 반환됩니다.

  3. www.website1.com에 팝업 창에서 반환 된 값을 (div 또는 자바 스크립트 호출이나 양식 필드 채우기와 같은 위치에 액세스 할 수 있도록) 표시하려고합니다.

나는 희망이 있습니다. 외부 라이브러리없이 HTML과 Javascript 만 사용해야합니다. 또한 현재 주류 브라우저 (즉, HTML5가 아닌 브라우저)에서 작동해야합니다.

도움을 주셔서 감사합니다.

답변

3

당신이 당신의 팝업 창은 iframe을 사용하여 잘 경우에 당신이 할 수있는 iframe을 함께

[시대에이 일에 나는 차단제를 팝업으로 인한 전염병과 같은 창을 팝업을 피할 것] cross domain calls

A에서 B로 webservice를 개발하고 A에서 호출하면 어떨까요? 브라우저에서 작은 틈을 찾아서 보안 문제를 해결하는 것보다 훨씬 깨끗합니다.

+0

+1 프록시 웹 서비스 권장 사항입니다. B가 사용자로부터 많은 상호 작용을 요구하지 않는 한 멋지게 보인다. –

+2

감사! 이것은 올바른 방향으로 나를 가리켰다. 내가 마지막으로 한 것은 다음과 같습니다. 1) 웹 사이트 A는 웹 사이트 B를 가리키는 iframe을 만듭니다. www.b.com/iframe 2) iFrame의 웹 사이트 B는 웹 사이트 B www.b.com/control에서도 창을 엽니 다. 3) 제어는 원하는 처리를 수행합니다.사용자가 닫기 버튼을 클릭하면 Javascript가 결과를 www.b.com/iframe 페이지로 푸시하는 데 사용됩니다. 4) www.b.com/iframe은 상위 페이지의 해시를 수정하여 결과를 다시 전달합니다. http://softwareas.com/cross-domain-communication-with-iframes http://ajaxpatterns.org/Unique_URLs HTTP : // chiragrdarji) 상위 페이지는 결과로 무엇을 것 – user5722

+0

참고 문헌을 수행합니다. wordpress.com/2007/03/10/call-parent-windows-javascript-function-from-child-window-or-passing-data-from-child-window-to-parent-window-in-javascript/ – user5722

2

www.someotherwebsite.com의 팝업에 값을 게시하여 www.website1.com의 특수 페이지로 되돌릴 수 있습니다. 이제 원래 도메인으로 돌아 왔고 그 페이지는 GET 값을 받아 일부 JavaScript에 기록합니다. 그런 다음 JavaScript는 opener.document.getElementById를 사용하여 오프너 윈도우의 어딘가에서 값을 업데이트하거나 opener.document.doSomething (val)과 같은 것으로 오프너에서 함수를 호출합니다. 응답을 처리합니다.

잠재적 인 오류 (사용자가 창을 두 개 열거 나 원래 사이트를 닫으면 어떻게됩니까?)와 잠재적 인 보안 허점이 있습니다. 브라우저는 창에 대한 작업을 시도 할 때 심하게 반응하는 경향이 있습니다. 존재하지 않거나 다른 영역에 있지만 알려진 환경에서는 효과가 있습니다.