1

我有两个网页,父页面 .aspx 和子页面 .html。在父页面上,我有 JavaScript 函数,用于通过 window.showModalDialog 将子页面作为模式窗口调用。

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 回答