繁体   English   中英

window.open(“ sms:…”)适用于android,但不适用于ios

[英]window.open(“sms:…”) works for android but not for ios

我具有此功能,可在点击时预先填写短信。 这适用于Android,但在任何版本的iOS上,它只是打开新的空窗口。 知道为什么吗?

 var ua = navigator.userAgent.toLowerCase();
    var url;
        
    if (ua.indexOf("iphone") > -1 || ua.indexOf("ipad") > -1)
    {
   

    var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
    var ver = [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];
    if (ver[0] >= 8)
    {
    url = "sms:&body=" + encodeURIComponent("Hello guys, this is an awesome app! Check it out http://www.myurl.com/webapp/index.html");
    }
    else
    {
    url = "sms:;body=" + encodeURIComponent("Hello guys, this is an awesome app! Check it out http://www.myurlcom/webapp/index.html");
    }
    
    
    }
    else
    url = "sms:?body=" + encodeURIComponent("Hello guys, this is an awesome app! Check it out http://www.muyrl.com/webapp/index.html");

    window.open (url,'_system')

我尝试使用正确的HTML链接,并且在iOS 9上运行良好。

<a href="sms:+467111111111?&body=Hello my friend">Send SMS</a>

所以我可以看到两个潜在的问题:

  • 我可能不使用window.open();
  • 仅在提供号码时有效

编辑:我设法让它没有数字

<a href="sms:?&body=Hello my friend">Send SMS</a>

所以它似乎来自window.open()

以下链接可帮助您测试所有不同的组合。 只需从手机中打开即可。

对我href="sms://&body=TEST"是: href="sms://&body=TEST"

这里的短信组合格式列表

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM