【问题标题】:Open default mail client with a link打开带有链接的默认邮件客户端
【发布时间】:2011-06-27 01:37:53
【问题描述】:

我的 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>

【问题讨论】:

  • 如果您正在构建 Intranet 应用程序,这可能无关紧要,但我发现越来越多的人使用 gmail 或 hotmail 等“云”电子邮件,而这些链接对他们不起作用。没有要启动的“邮件客户端”。
  • @n8wrl - 好点。这是一个设计问题 - 所以@Goutham 需要记住有一个关于向谁发送邮件的文本描述。一般来说,无论如何我都会不惜一切代价避免使用mailto链接。如果我想发送邮件,我将使用 System.Net.Mail 并自己从代码中发送。如果客户需要发送电子邮件,最好只是指示他们这样做,这正是您指出的原因。

标签: asp.net html mailto


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    这个怎么样?

    <a href="mailto:reddy@yahoo.com?Subject=upport" style="color: White">Contact Support</a>
    

    【讨论】:

    • +1。与我的答案相同,但使用了代码示例。我打算添加代码示例,但既然你打败了我......
    • 联系支持。我在母版页的页脚上有此链接。您的代码适用于某些页面,但不适用于某些页面
    • 发布 HTML 输出,或者如果可能的话,发布指向我们可以使用的相关页面的链接。顺便说一句,mailto:链接不会打开 Outlook,它们会打开默认的邮件客户端,无论发生什么
    • 页面 url 正在更改为 mailto:"..." the\ HTML 源代码是通用的.. 它说页面无法显示.. 这是通用的..
    • 不,在网络浏览器中打开带有链接的页面,右键单击它并按“查看源代码”或类似的文字。然后找到工作链接和不工作链接的源代码并发布每个链接,指定哪个是哪个。我开始怀疑是否有什么东西弄乱了链接,因为上面的代码应该可以工作
    【解决方案3】:

    使用 JavaScript,您将导航到 mailto 的 URL。

    你能切换到普通的锚标签mailto链接吗?

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

    【讨论】:

    • 我在母版页的页脚上有这个链接..您的代码适用于某些页面,但不适用于某些页面..
    • 当我点击链接时,它正在打开新的 Outlook 窗口,但它也在导航到 href="mailto:foo..." 并更改页面的 URL...
    • @Goutham:确保您在任何地方都进行此更改。普通锚链接不会在任何地方导航或更改页面的 URL。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 2013-12-18
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多