1

親ページ .aspx と子ページ .html の 2 つの Web ページがあります。親ページには、window.showModalDialog を介してモーダル ウィンドウとして子ページを呼び出すための JavaScript 関数があります。

function viewCourseModal(url) {

var sPars = SomeParameters();
var returnedValue = window.showModalDialog(url, "", sPars);
document.getElementById("modalReadyForTest").value = returnedValue;  

return returnedValue;

}

子ページには次のものがあります。

<script LANGUAGE="JavaScript">

function closewindow() {
    window.returnValue = "someValue";
    window.close();
}

<input id="Button1" type="button" value="Ready For Test" onclick="closewindow()" />

そのため、親ウィンドウを起動して子モーダル ウィンドウを呼び出すと、ボタン Button1 をクリックすると、「someValue」を持つパラメーターが親ウィンドウ (modalReadyForTest コントロール) に返されます。

同じドメインに親ページと子ページの両方がある場合、問題なく動作します。それらを異なるドメインに置くと、パラメーターの値が渡されず、代わりに常に「未定義」になります。

パラメータ値を親ページに返す別のドメインからのモーダルウィンドウを持つ方法はありますか? これらのクロスドメインの問題はまったく解決できますか、それともまったく別のアプローチを試す必要がありますか?

ご支援をいただければ幸いです。

ありがとう、アンバー

4

1 に答える 1

1

親ページ:

<script>
function test(str) {
    alert(str);
}
</script>

子ページ:

<input id="Button1" type="button" value="Ready For Test" onclick="opener.test('my value here')" />
于 2010-08-27T20:39:29.553 に答える