我有一個Web應用程序,我正在嘗試針對移動設備進行優化,而我的直接mailto功能不適用於我的Android手機上的默認郵件客戶端。它適用於Gmail客戶端,但不適用於與Exchange電子郵件集成的本地郵件客戶端。 (它似乎也適用於iphones fwiw。)本地客戶端發生的事情是,回車後的所有內容都被切斷。所以說我有類似如下:我的mailto鏈接中的換行符在Android手機上被打破
sendLinkByEmail: function (subject, message, url)
{
var parsedMessage = encodeURIComponent("Isn't this cool?\n I am sending you an email!");
var emailLink = "mailto:?Subject=" + encodeURIComponent(subject) + "&body=" + parsedMessage;
window.location = emailLink;
return false;
}
如果我選擇與Gmail應用程序打開,我看到預期的結果:
這是不是很酷?
我給你發了一封電子郵件!
但是,如果我與郵件應用程序中打開它,我只是得到
這是不是很酷?
就是這樣。
如果不是\ n我使用%0A或%0D%0A,或者如果我不使用encodeURIComponent(例如,消息只是字面上的「Foo%0D%0ABar」 - 我只是得到Foo) 。
我無法弄清楚那個愚蠢的郵件客戶端在做什麼!任何人有任何想法?
非常感謝!
剛剛意識到我的問題就更大了 - 魯鈍的郵件客戶端也截斷後甚至任何一個編碼&(26%),所以我不能嵌入URL或者,這是函數的整點。
從mail應用程序打開郵件客戶端有沒有其他選擇mailto?
我想我正在跳過Bug 8023. Grr。 http://code.google.com/p/android/issues/detail?id=8023 –