2012-02-29 2 views
9

나는 mailto 링크가 <a href="mailto:a&[email protected]" >인데, html로 올바르게 표시되지만, 링크를 클릭하면 Outlook의 주소가 표시됩니다. 동일한 문제에 직면 한 사람이 있습니까?앰퍼샌드가 포함 된 전자 메일 주소의 mailto 링크 문제가 있습니까?

+0

앰퍼샌드는 전자 메일 주소에서 유효한 문자가 아닙니다. 그렇습니까? (편집 : 오, 정말로. [http://en.wikipedia.org/wiki/E-mail_address#Valid_email_addresses]) 인코딩 비율은 당신의 친구 일 것입니다. –

+2

그리고 'mailto'는 매우 오래된 것입니다. 사이트 방문자의 90 %는 시스템 메일이 아니라 메일 서비스를 Gmail로 사용합니다. contactform에 대한 링크는 많은 사용자 친화적 인 것입니다 –

답변

18

Percent encoding 문자열이 IE에 필요하며 브라우저간에 작동한다고 가정합니다. 7 탐색기

윈도우 인터넷 이상 : this MSDN document 에서. mailto : 주소 내의 모든 URL 예약 문자를 백분율로 인코딩해야합니다. 예를 들어, 숫자 기호 (#)는 URL에서 조각 식별자로 사용됩니다. some#[email protected]과 같은 주소를 처리 할 때 Internet Explorer는 메일 클라이언트에 숫자 기호까지만 복사합니다. 숫자 기호를 포함한 프래그먼트 부분은 무시됩니다. 이것은 의도적으로 설계된 동작입니다.

그래서 내가 퍼센트 인코딩 된 주소가 모든 브라우저에서 작동합니다 기대

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

로 말했다 필요하지만, 나는 확실히 모른다. Chrome과 Thunderbird에서 작동하는지 확인할 수 있습니다.

+0

You rock, Pekka. – Konerak

+1

이 줄의 자바 스크립트는 앰퍼샌드를 변환하므로 'var emailFriendlyUrl = currentUrl.replace (/ &/g,'% 26 ');'입니다. –

관련 문제