在新标签/窗口中打开href mailto链接

she*_*nyL 20 mailto jquery href target razor

我有一个图像,当点击,我想链接到mailto:

 <a id="mailto" href="mailto:hfms@live.com.my" target="_newtab" >
        <img src="@Url.Content("~/Content/HomePage/email.png")" alt="email" /></a>
Run Code Online (Sandbox Code Playgroud)

但是,当前单击它后,它将启动电子邮件选项以选择mailto应用程序,一旦我选择,mailto链接将在当前选项卡中打开.这将导致用户离开应用程序.

所以,我希望页面发送电子邮件(通过gmail,yahoo等)在新标签页或窗口中打开.知道怎么做吗?我尝试了target ="_ newtab"和target ="_ blank",但两者都没有用.

任何帮助将不胜感激..谢谢......

(如果没有其他方法,jQuery方法也可以接受,谢谢)

Red*_*rge 28

这个信息已经过时了,现在我可以这样做,我相信,因为gmail和其他人现在通过浏览器链接工作.但问题是,如果不在系统邮件客户端中打开,您只希望在新选项卡中打开它,如果它是Webmail客户端,则在新选项卡中打开,否则例如Outlook用户看到一个空白选项卡,这是令人迷茫的,特别是因为他们是Outlook用户.

  • 投票支持该行"特别是因为他们是Outlook用户". (13认同)

小智 20

此答案基于此答案在新选项卡/窗口中打开href mailto链接.

目前,新的浏览器支持一些 Web邮件界面(如Gmail,Yahoo Mail,AoL等).

所以我们可以简单地打开一个新窗口(支持旧浏览器,新浏览器只会打开一个新选项卡)并使用preventDefault和默认链接重定向添加后备(如果是非JavaScript用户).

http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-cancelation

https://developer.mozilla.org/es/docs/DOM/event.preventDefault

https://developer.mozilla.org/en-US/docs/Web/API/Window.open

像这样:

<a onClick="javascript:window.open('mailto:mail@domain.com', 'mail');event.preventDefault()" href="mailto:mail@domain.com">Send a e-mail</a>

http://jsfiddle.net/cNUNP/

感谢/sf/answers/691628311/

猜猜就是这样.

问候,马科斯.


Cos*_*sta 15

你不需要Javascript/Jquery.标准链接有效(Firefox v30 +除外,因为有bug,见下文).

<a href="mailto:example@example.com" target="_blank">
Run Code Online (Sandbox Code Playgroud)

从Firefox 30开始,由于存在错误,因此无法在Firefox中运行.它在相同的选项卡中打开并替换历史记录,因此回击将不会将您带回到mailto:链接所在的页面.

  • 只是为了历史,它是8个月后,错误仍然存​​在. (2认同)
  • 2016更新:bug仍然没有修复.最初是在2011年开放的,所以可疑这将被修复,除非这个bug得到了大量的upvotes(提示,提示):https://bugzilla.mozilla.org/show_bug.cgi?id = 646552 (2认同)
  • 2017更新:错误仍未修复。如果没有很多支持,我很可能永远不会被修正:https://bugzilla.mozilla.org/show_bug.cgi?id=646552 (2认同)
  • 2021 年更新:这个 10 年之久的 Firefox 错误仍然没有修复。错误跟踪器中最近有一些讨论,因此也许我们不会失去希望。 (2认同)

Sco*_*ott 12

mailto调用用户默认的电子邮件客户端.它不会在任何实例中打开窗口或选项卡.如果要使用窗口或选项卡,则需要配置表单并允许在窗口/选项卡中打开表单.当然,您必须配置表单以使用服务器上可用的任何方法发送邮件.

  • 这在2011年可能是真的,但现在不再适用.您可以使用target ="_ blank"在新选项卡中打开Gmail等邮件客户端.不幸的是,这还不够,因为它将为使用独立客户端的人们启动一个空白选项卡. (22认同)
  • 这个答案已经过时,一些邮件客户端在gmail或收件箱等标签页中打开 (2认同)