我正在使用脚本挂载mailto链接并调用默认的电子邮件编辑器。但由于IE9中的一些错误,我无法使用document.location.href,因此我使用window.open。有用。但我需要关闭IE窗口打开。
问题是window.close没有返回窗口引用。
function doMailto() {
var sMailto = 'mailto:?bcc=';
sMailto += document.getElementById('<%= txtEmails.ClientID %>').value;
out = window.open(sMailto);
out.close(); //CANT CALL CLOSE, BECAUSE OUT IS NULL
}
答案 0 :(得分:1)
在分配线的末尾有一个额外的paren。
另外,您是否尝试以指定的功能关闭窗口?如果没有,您可能需要在函数外部声明窗口变量,以便在需要时将其关闭。
答案 1 :(得分:1)
除了语法错误(两个逗号,两个parentesis结束)......
您正在打开一个窗口,该窗口位于浏览器外部,即您的默认邮件客户端。你无法通过javascript控制它。
也许这是一个即时性问题,请尝试使用:
var out = window.open()...
setTimeout(function(){out.close()}, 200)
然后拨弄200ms以查看它是否有效。
试
top.location.href = 'mailto:....';
您不需要以这种方式打开或关闭任何窗口