Javascript 从web应用程序打开SMS编辑器
我正在寻找一个解决方案,允许我打开本机短信编辑器从网页上。邮件正文必须预先填充,接收者的电话号码必须为空 stackoverflow中有很多建议只是通过javascript格式化锚点或重定向,但不幸的是,这些解决方案已经过时,或者不能按原样工作,或者出于安全原因被剥离 我已经在各种平台上测试了以下格式,但不幸的是,它们不能在所有设备上工作。我正在寻找一个通用的解决方案或库来满足我提到的要求Javascript 从web应用程序打开SMS编辑器,javascript,android,html,ios,windows-phone,Javascript,Android,Html,Ios,Windows Phone,我正在寻找一个解决方案,允许我打开本机短信编辑器从网页上。邮件正文必须预先填充,接收者的电话号码必须为空 stackoverflow中有很多建议只是通过javascript格式化锚点或重定向,但不幸的是,这些解决方案已经过时,或者不能按原样工作,或者出于安全原因被剥离 我已经在各种平台上测试了以下格式,但不幸的是,它们不能在所有设备上工作。我正在寻找一个通用的解决方案或库来满足我提到的要求 <a href="sms:;body=Hello world">Send SMS</a&
<a href="sms:;body=Hello world">Send SMS</a>
<a href="sms:;body=Hello%20world">Send SMS</a>
用于在IOS设备上工作,但不再工作。显然,预先填充的身体只有在您提供联系人中的电话号码时才起作用
<a href="sms:?body=Hello world">Send SMS</a>
<a href="sms:?body=Hello%20world">Send SMS</a>
适用于大多数android设备。打开SMS编辑器,但只有某些版本允许预填充正文
Windows Phone似乎什么都没做
我开始怀疑这是否只是一个无休止的兼容性问题的沼泽。构建web应用程序的技术是ASP.NET MVC 5。无法添加文本,只能添加电话号码,以便
<a href="sms:+12345678901">sms link</a>
打开消息传递应用程序
当发出带有此类url的请求时,应用程序可以注册要调用的自定义协议方案。但据我所知,您的解决方案是一个纯web应用程序,因此答案是不可能的。这在iOS 8上有效(已验证):
打开
$('#myLink')。单击(函数(){
window.open('sms:&body=My%20text%20for%20iOS%208','u self');
返回false;
});
这应该适用于iOS 5,6:
<p>Open <a href="#" id="myLink">SMS</a>.</p>
<script>
$('#myLink').click(function () {
window.open('sms:;body=My%20text%20for%20iOS%205', '_self');
return false;
});
</script>
打开
$('#myLink')。单击(函数(){
window.open('sms:;body=My%20text%20for%20iOS%205','u self');
返回false;
});
注意,对于iOS 8,sms:&
代码>适用于iOS 5,6(和sms:?
适用于Android)
记住在body=
来源:如果你想填充正文而不是电话号码,这对android和IOS8都适用+ 这是我的笔迹 关键是:“短信:?&”100%工作 //安德烈
if(navigator.userAgent.match(/Android/i)){
window.open('sms://1900/?body=encodeURIComponent('sms body......'),'_blank')
}
//对于IOS
if(navigator.userAgent.match(/iPhone/i)){
window.open('sms://1900/&body=encodeURIComponent('sms body......'),'_blank')
}
将1900替换为要发送消息的号码
正文=sms正文
归功于:-谢谢,这真的帮助了我的PWA。我使用它时没有默认消息。if(navigator.userAgent.match(/Android/i)){window.open('sms://'+phoneNumber);}if(navigator.userAgent.match(/iPhone/i)){window.open('sms://'+phoneNumber);}
if(navigator.userAgent.match(/iPhone/i)){
window.open('sms://1900/&body=encodeURIComponent('sms body......'),'_blank')
}