如何启动eMail客户端,然后使用Javascript进行页面重定向?

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.如何在浏览器中一致地实现此效果(打开邮件客户端然后执行页面重定向)?
作为一个注释,我也试图使用元刷新来完成这个,但是没有成功.

Mic*_*Mic 7

尝试使用类似的东西:

<a href="mailto:mail@domain.com" onclick="window.location.href='np.html'">send</a>
Run Code Online (Sandbox Code Playgroud)

而不是onload.


And*_*y E 6

更改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)

  • Jinx!但是我想我几秒钟就击败了你... ;-) (2认同)
  • 准确地说是32秒。需要更多地锻炼我的手指;-) (2认同)