在H5页面中使用a:sms发送短信:
<a href='sms:123?body=jay+chou'>Send</a>
// iOS 使用 <a href='sms:123&body=jay+chou'>Send</a>
iOS上可以正常运行,然是到Android上就出现了问题,消息内容中的“+”会成为空格
然后就想是不是需要现encode一下?然后就改为下面这种方式:
<a href='sms:123?body=jay%2Bchou'>Send</a>
结果还是不行,然后发现不管是%2B
或者%20
都会转变为空格(这就很神奇),在查阅很多资料无果的情况下转身去 StactkOverflow 上提了个问题,很快啊,就有一位大佬回答了我的问题,说是需要将body中的“+”进行两次encode,也就是说将%2B
换为%252B
,就像这样:
<a href='sms:123?body=jay%252Bchou'>Send</a>
然后。。。成功了
在我追问大佬问什么会这样时,他回答说在解码时,解码执行了两次,他也不明白为什么要这样。
最后附上StactkOverflow上相应问答的链接
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。