T.R*_*.R. 3 javascript mailto redirect
我要求在其他浏览器上使网站功能与在IE6中完全相同.当前代码的一部分看起来类似于:
<script>
function myFunc(){
location.href="mailto:test@test.com&body=Hello!";
location.href="newPage.html";
}
</script>
<body onload="myFunc();">
</body>
Run Code Online (Sandbox Code Playgroud)
在IE中,这会导致邮件客户端打开并准备好指定的邮件,然后将浏览器重定向到newPage.html.但是,其他浏览器只能重定向到newPage.html.如何在浏览器中一致地实现此效果(打开邮件客户端然后执行页面重定向)?
作为一个注释,我也试图使用元刷新来完成这个,但是没有成功.
尝试使用类似的东西:
<a href="mailto:mail@domain.com" onclick="window.location.href='np.html'">send</a>
Run Code Online (Sandbox Code Playgroud)
而不是onload.
更改href属性将启动位置加载,然后再次更改将取消先前的导航。
似乎IE6将在设置属性后立即启动电子邮件客户端,然后继续执行javascript。其他浏览器的处理方式似乎有所不同,第二个位置加载将取消第一个。
我设法在Chrome中使用计时器解决了这个问题,它可能也适用于其他浏览器:
function myFunc(){
location.href="mailto:test@test.com&body=Hello!";
window.setTimeout(function () { location.href="newPage.html" }, 0);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7917 次 |
| 最近记录: |