0

iframe이있는 jQuery UI 대화 상자가 있습니다. 부모와 동일한 도메인에 있지 않은 iframe 내부에 다른 페이지를로드하고 있습니다. 페이지는 System1 (상위)과 System2 (하위 프레임)의 두 가지 시스템입니다.로드 균형 조정으로 인해 다른 도메인의 iframe 내에서 상위 iframe 창 (jquery UI 대화 상자) 닫기

내가 원하는 것은 JS/jQuery를 호출하여 부모 페이지의 액티브 대화 상자 창을 닫는 버튼을 iframe 페이지에 추가하는 것입니다.

뭔가 그들이 여기처럼 : Close jQuery UI Dialog from Iframe

문제는 두 페이지가

인해 Same origin policy 여기에 두 시스템에있을 때 잘 작동 나의 현재 버튼의, 동일한 도메인에있는 경우,이 유일한 작품이다 같은 도메인 :

<input type="submit" onclick="$('#myDialog', window.parent.document).hide();" value="X" /> 

사이트/시스템은 실제로 동일한 서버 및 도메인에있을 수 있지만, 나는 3 개 개의 다른 서버 사이의 주위에 트래픽을 이동하는로드 밸런서를 사용하고 있습니다. 두 개의 시스템이 있으며 각 시스템은 3 대의 서버에서 실행됩니다. 아래에서 포트는 다른 시스템 (91 = System1, 92 = System2)에 해당합니다.

e.e.

이러한 시스템은로드 0123으로 이동하여 균형을및 http://System2.myHost.com이고로드 밸런서는 사용자에게 보낼 서버를 결정합니다.

문제는 : 사용자 (예를 들어 서버 1에 실제로) 및 jQuery를/iframe이는 (또한 Server1의이 경우) 일치하는 시스템 2 사이트를로드하려고 http://System1.myHost.com에 갈 때, 자바 스크립트가 생각하는 http://System1.myHost.com (이 실제로는 http://Server1.myHost.com:91)이고 http://Server1.myHost.com:92은 두 개의 다른 도메인에 있습니다.

이 문제를 해결하는 방법에 대한

모든 아이디어를 .... 어떻게 든 나는로드 밸런서 주소가 실제 서버 주소와 동일한 생각하는 자바 스크립트를 속여 필요,하지만 난 방법을 몰라? =)

답변

0

같은 정책이 쓸모 없으면 같은 원본 정책을 무시하도록 JavaScript를 속일 수 없습니다.

부하 분산은 최종 사용자에게 투명해야합니다. 부하가 분산 된 서버 앞에 Velocity 또는 Memcached와 같은 프런트 엔드 캐시 시스템을 사용하는 것이 좋습니다.

관련 문제