2015-05-25 78 views
0

请任何人都可以帮我吗?以下JavaScript代码在IE9 &以上版本和Firefox中也可以使用,但较低版本的IE(8,7)不支持。弹出html页面没有返回值?

function SetName() { 
    var a = sessionStorage.getItem("sent"); 
    var b = window.opener.document.getElementById("tclass").value; 
    var c = window.opener.document.getElementById("ttype").value; 
    var noPMMCode = window.opener.document.getElementById("noPMMCode").value; 
    var noLTMMCode = window.opener.document.getElementById("noLTMMCode").value; 
    var noLEMMCode = window.opener.document.getElementById("noLEMMCode").value; 
    var noSTMMCode = window.opener.document.getElementById("noSTMMCode").value; 
    if (window.opener != null && !window.opener.closed && b == "Material" && c == "PT" && noPMMCode != null) { 
     var txtName = window.opener.document.getElementById("PMMC" + a); 
     txtName.value = document.getElementById("ddlNames").value; 
    } else if (window.opener != null && !window.opener.closed && b == "Material" && c == "LT-NORMAL" && noLTMMCode != null) { 
     var txtName = window.opener.document.getElementById("LTMMC" + a); 
     txtName.value = document.getElementById("ddlNames").value; 
    } else if (window.opener != null && !window.opener.closed && b == "Material" && c == "LT-EMPANEL" && noLEMMCode != null) { 
     var txtName = window.opener.document.getElementById("LEMMC" + a); 
     txtName.value = document.getElementById("ddlNames").value; 
    } else if (window.opener != null && !window.opener.closed && b == "Material" && c == "ST" && noSTMMCode != null) { 
     var txtName = window.opener.document.getElementById("STMMC" + a); 
     txtName.value = document.getElementById("ddlNames").value; 
    } 
    window.close(); 
} 

提前谢谢..

+0

可能是由于IE8禁用Java脚本的。尝试检查是否在IE8中启用了Java脚本。 – Pawan

+0

IE中的IIRC'window.opener'受安全区域设置影响,可能会影响您的测试 – jdphenix

回答

1

window.opener不会在IE下默认的安全级别上工作。

一种选择是使用location.href重定向子窗口的页面中域相同的父窗口,然后使用window.opener

+0

您对如何从弹出页面重定向到新页面有什么想法吗? – User

+0

在IE中,在Window.open参数中传递参数“copyhistory = no”。例如:window.open('','Name','height = 320','width = 428','resizable = no','location = no','directories = no', 'status = no','copyhistory = no'); – Thinker