2012-02-29 71 views
9

我有一個像這樣的郵件鏈接<a href="mailto:a&[email protected]" >它在HTML上正確顯示,但當我們點擊鏈接時,Outlook只顯示一個地址。有人遇到同樣的問題,請提出建議。問題與包含&符號的電子郵件地址中的mailto鏈接?

+0

&符號不是電子郵件地址中的有效字符,是嗎? (編輯:確實,[它是。](http://en.wikipedia.org/wiki/E-mail_address#Valid_email_addresses))我猜百分比編碼是你的朋友然後 – 2012-02-29 11:27:05

+2

而'mailto'是非常古老的。您網站的90%的訪問者不使用他們的系統郵件,而是使用郵件服務作爲Gmail。一個鏈接到contactform非常友好 – 2012-02-29 11:28:37

回答

18

Percent encoding該字符串是IE所必需的,我假設它可以跨瀏覽器使用。從 this MSDN document

Windows Internet Explorer 7及更高版本。您必須對郵件地址中的所有URL保留字符進行百分比編碼。例如,數字符號(#)被用作URL中的片段標識符。在處理諸如[email protected]之類的地址時,Internet Explorer僅將數字符號部分複製到郵件客戶端;包括數字符號的片段部分被忽略。此行爲是設計使然。

所以你需要

<a href="mailto:a%26b_admin%40xyz.com"> 

至於說,我期待%的編碼地址將在所有的瀏覽器,但我不知道。我可以確認它適用於Chrome和Thunderbird。

+0

你搖滾,佩卡。 – Konerak 2013-12-05 13:59:50

+1

這行JavaScript代碼將轉換爲&符號,因此您不必手動完成:var emailFriendlyUrl = currentUrl.replace(/&/ g,'%26');'。 – 2014-06-20 00:07:08

相關問題