window.showModalDialog(url, args, params);
只能在ie下使用,切换谷歌后无法使用
决定替换window.open 后发现无法获取页面的window.returnValue
整理后发现谷歌是可以用window.opener.document.getElementById 操作父页面元素
整理了一下
父页面
function show() {
var val = myShowModalDialog(“XXXX.html”, “true”, 800,500);
if (!val) {
return;
} else {
console.info(‘子页面返回值’+ val)
}
}
function myShowModalDialog(url, args, width, height) {
var tempReturnValue = "";
if (navigator.userAgent.indexOf("Chrome") > 0) {
var paramsChrome = 'height=' + height + ', width=' + width + ', top=' + (((window.screen.height - height) / 2) - 50) +
',left=' + ((window.screen.width - width) / 2) + ',toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no';
window.open(url, "newwindow", paramsChrome);
} else {
var params = 'dialogWidth:' + width + 'px;dialogHeight:' + height + 'px;status:no;dialogLeft:' + ((window.screen.width - width) / 2) + 'px;dialogTop:' + (((window.screen.height - height) / 2) - 50) + 'px;';
tempReturnValue = window.showModalDialog(url, args, params);
}
return tempReturnValue;
}
子页面
function ReturnValue(name,id)
{
if(window.opener){
window.opener.document.getElementById("").value=name;
window.opener.document.getElementById("").value=id;
}
else{
window.returnValue=name+","+id;
}
window.close();
}