我的 mailto 链接中的换行符在 Android 手机上已损坏
newlines in my mailto link are broken on Android phones
我有一个正在尝试针对移动设备进行优化的Web应用程序,但我的简单mailto功能无法在我的Android手机上的默认邮件客户端上运行。 它适用于gmail客户端,但不适用于与Exchange电子邮件集成的本机客户端。(它似乎也适用于iphone fwiw。 本机客户端中发生的情况是,回车后的所有内容都被切断。 所以说我有如下内容:
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 应用打开,我会看到我期望的内容:
这不是很酷吗?
我给你发了一封电子邮件!
但是如果我使用邮件应用程序打开它,我只会得到
这不是很酷吗?
仅此而已。
如果我使用 %0A 或 %0D%0A 而不是 ',或者如果我不使用 encodeURIComponent (例如,消息只是字面意思是"Foo%0D%0ABar"——我只是得到 Foo(,也会发生同样的事情。
我不知道那个愚蠢的邮件客户端在做什么! 有人知道吗?
非常感谢!!
刚刚意识到我的问题更大 - 愚蠢的邮件客户端甚至在编码后也会截断任何内容&(%26(所以我也无法嵌入URL,这就是函数的重点。
是否有任何替代 mailto 的方法可以从 Web 应用程序打开邮件客户端?
根据我的经验,您在 mailto: 链接中使用 ' 的成功将因邮件客户端而异。我发现最有效的方法是使用 %0d 代替 ',但即便如此,并非所有客户端都会支持它。
如果格式对你很重要,那么mailto:链接就不是你想要的。
相关文章:
- Ionic应用程序无法识别android手机中的语音
- 可以't从android手机调用全局javascript函数
- 现在是否可以在Android手机中使用HTML5或混合应用程序读取智能卡
- 在Android手机间隙应用程序中单击后退按钮时强制关闭
- 通过JavaScript检测和区分Android平板电脑和Android手机
- 我的 mailto 链接中的换行符在 Android 手机上已损坏
- 通过HTML5或JavaScript启动Android手机前置摄像头
- Android手机间隙滚动是非常斩波
- 地理定位可以在网络浏览器上工作,但不能在android手机浏览器上工作
- 在网络浏览器中的android手机中停止后退行为
- 使用phonegap和Sencha Touch访问Android手机联系人
- Cocos2D JS花栗鼠PhysicsSprite移动操作在Android手机中不起作用
- add to homescreen'android手机的弹出窗口
- HTML jquery onclick事件不能在Android手机上动态创建的链接上工作
- 在非本机应用程序中将号码添加到iPhone或Android手机联系人列表中
- 连接到web应用程序的Android手机
- 如何在android手机中嵌入字体样式
- 使用JavaScript在Android手机上发送/读取短信
- requestFileSystem不适用于android手机
- jquery代码没有在android手机上运行