打开默认邮件客户端并附带链接

4
我在ASP.NET页面上有一个HTML链接。当用户单击该链接时,将打开Outlook窗口。但是,它也会更改我的页面上的URL为mailto:reddy@yahoo.com
如何停止这个行为?
<a href="#" 
   onclick="window.open('mailto:reddy@yahoo.com?Subject=upport','','200','200');"
   style="color: White">Contact Support</a>

1
如果您正在构建一个内部网络应用程序,这可能并不重要,但我发现越来越多的人使用像Gmail或Hotmail这样的“云”电子邮件,而这些链接对他们来说无效。没有“邮件客户端”可以启动。 - n8wrl
2
@n8wrl - 很好的观点。那是一个设计问题 - 所以 @Goutham 需要记得有一个文本描述,说明要发送邮件给谁。通常情况下,我尽量避免使用mailto链接。如果我想发送邮件,我会使用System.Net.Mail并从代码中自己发送。如果客户需要发送电子邮件,最好只是指导他们这样做,正如你指出的原因一样。 - David
3个回答

5
不要在window.open中执行此操作。只需将链接作为普通链接显示在页面上,Outlook会在新窗口中打开,因为它是一个不同的程序。

2
这个怎么样?
<a href="mailto:reddy@yahoo.com?Subject=upport" style="color: White">Contact Support</a>

+1。和我一样的答案,只不过是附带代码示例。我原本是要添加代码示例的,但既然你已经做了... - David
<a href="mailto:foo@bar.com?Subject=upport">联系支持</a>。我在母版页的页脚上有这个链接。你的代码对一些页面有效,但对另一些页面无效。 - Goutham
1
请发布HTML输出或者如果可能的话,提供一个我们可以操作的页面链接。顺便说一下,mailto:链接不会打开Outlook,它们会打开默认的邮件客户端,无论它是什么。 - Hawxby
页面 URL 正在更改为 mailto:"...",HTML 源代码是通用的,它显示页面无法显示,这是通用的。 - Goutham
不,打开链接页面的网页浏览器,在该网页上右键单击并按“查看源代码”或类似词语。然后找到可工作和不可工作链接的源代码,并将每个代码发布,指定哪个是哪个。我开始怀疑某些东西正在干扰链接,因为上面的代码应该起作用。 - Hawxby

2

使用JavaScript,您正在导航到一个mailto URL。

您能切换到常规锚标签的mailto链接吗?

<a href="mailto:foo@bar.com?Subject=upport">Contact Support</a>

我在母版页的页脚有这个链接。你的代码对一些页面有效,但对另一些页面无效。 - Goutham
当我点击链接时,它会打开新的Outlook窗口,但也会导航到href="mailto:foo..."并更改页面的URL... - Goutham
@Goutham:确保你在所有地方都进行了这个更改。普通的锚链接不会导航到任何地方或更改页面的URL。 - p.campbell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接