我正在使用填充JavaScript的 mailto:
在我的Web应用程序中发送信息,但每次用户按下“发送”按钮时,它会在打开邮件应用程序(Outlook,Gmail等)之前在浏览器中打开一个新选项卡 .
有没有办法防止空白标签打开?
编辑:以下所有主流浏览器都会遇到此问题:Internet Explorer,Firefox和Google Chrome .
我使用 window.open()
发送电子邮件,有没有已知的替代品?
以下是我发送电子邮件的方式:
var mailto_link = 'mailto:'+email+'?subject='+subject+'&body='+body_message;
var win = window.open(mailto_link,'emailWindow');
我不想使用 window.location.href
,因为我在用户发送电子邮件后显示一条消息 .
6 回答
谢谢你的编辑 . 确实有另一种选择:
我真的没有得到这个 . 使用
mailto:
与window.location.href
时,您不会离开网站AmShaegar的window.location.href解决方案效果很好,但它在我开发的复杂应用程序中引起了副作用 .
我终于想出了一个可能感兴趣的解决方案:
看到这个plunker:http://plnkr.co/edit/J0LvQU?p=preview
空白选项卡由
window.open()
打开 . 你不需要那个 .mailto链接的语法应该是这样的
有关详细信息,请参阅http://www.addressmunger.com/mailto_syntax_tutorial/ .
短暂间隔后关闭窗口:
尝试命名窗口(myWindow)并添加close()命令:
这应该关闭额外的浏览器窗口并保持电子邮件应用程序打开 . 至少它对我有用 .
不,这严格取决于浏览器处理新标签的方式 . 我花了几个小时找工作,解决方案,任何事情......
firefox:options - > tabs
safari:preferences - > tabs