'window.opener.returnValue in Chrome with showModalDialog
I am trying to use window.opener.returnValue with showModalDialog. There are numerous references to a technique which can be used to workaround window.returnValue not working. However it just doesn’t seem to work in Version 23.0.1271.97 of Chrome.
If I comment out the self.close line as follows, and put alerts in before and after the return value is set then both alerts show as ‘undefined’:
The caller a1.html
<html>
<head>
<base target="_self"/>
<script>
function fu()
{
window.returnValue = undefined;
var result = window.showModalDialog("b1.html", window, "dialogHeight:650px; dialogWidth:900px;");
if (result == undefined)
result = window.returnValue;
if (result != null && result != "undefined")
text.value = result;
}
</script>
</head>
<body>
<input type=button value="click me" onclick="return fu();">
<input type=text id=text>
</body>
</html>
The called b1.html:
<html>
<head>
<base target="_self"/>
<script>
function fu()
{
var text = document.getElementById("text");
if (window.opener)
{
alert(window.opener.returnValue);
window.opener.returnValue = "your return value";
alert(window.opener.returnValue);
}
text.value = window.opener.returnValue;
//self.close();
}
</script>
</head>
<body>
<input type=button value="close" onclick="return fu();">
<input type=text id=text>
</body>
</html>
Solution 1:[1]
Also window.returnValue will work only when both modal dialog window and parent window(which opened the dialog) are hosted in the same server. If not it will return undefined only.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Afsanefda |
