window.open("sms:...") 适用于 android 但不适用于 ios
window.open("sms:...") works for android but not for ios
我有这个功能,可以在点击时预填短信。这适用于 Android,但在 iOS 的任何版本上,它只会打开新的空 window。知道吗,为什么?
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 link,它在 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()
下面的 link 应该可以帮助您测试所有不同的组合。
只需用手机打开即可。
对我有用的是:href="sms://&body=TEST"
我有这个功能,可以在点击时预填短信。这适用于 Android,但在 iOS 的任何版本上,它只会打开新的空 window。知道吗,为什么?
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 link,它在 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()
下面的 link 应该可以帮助您测试所有不同的组合。 只需用手机打开即可。
对我有用的是:href="sms://&body=TEST"