我所看到的所有内容似乎都表明sms:18005555555?body=bodyTextHere应该可以工作,但在iPhone上无法工作。如果我去掉?body=bodyTextHere,只使用sms:phonenumber,它就可以工作。
我看到过几个二维码通过Safari链接实现此功能。他们是如何预先填充正文文本的?
结果证明这是完全可行的,虽然有点欺骗性。
如果您想在Android上使用它,则需要使用以下格式:
<a href="sms:/*在此输入电话号码*/?body=/*在此输入正文*/">链接</a>
如果您想在iOS上使用它,则需要使用以下格式:
<a href="sms:/*在此输入电话号码*/;body=/*在此输入正文*/">链接</a>
演示请点击此处:http://bradorego.com/test/sms.html (注意,“Phone and ?body”和“Phone and ;body”应自动填充收件人和正文。有关更多信息,请查看源代码)
更新:
显然,iOS8必须对我们进行更改,所以感谢其他评论者/回复者,iOS现在有了新样式:
<a href="sms:/*在此输入电话号码*/&body=/*在此输入正文*/">链接</a>
(电话号码为可选项)
我知道这是一个旧帖子,但是偶然发现有些部分已经不再相关。
我发现如果你只想预填文本而不添加电话号码,可以按照以下步骤进行:
sms:?&body=/* message body here */
?
,你有什么办法使其显示为空白吗?我尝试了sms:?body
和sms:;?body
,第一个会尝试发送到?
,第二个会尝试发送到;
。 - Joshua Ohana尝试以下步骤来解决iOS 8的问题:
<a href="sms:/* phone number here */&body=/* body text here */">Link</a>
将";"替换为"&"对我起了作用。
按照以下顺序放置所有符号(我只在此顺序下进行了测试,因为在代码方面对我来说最有意义)。
注意正文链接... 我只是放置了;?&body=
。 另外,请注意,我发现需要使用%20
来表示任何空格。
我已经在我的 iPhone(版本9.2)和另一台安卓手机上测试过,它的效果非常好。
这将解决必须针对不同设备进行黑客攻击的问题。 当我在短信中进行测试时,没有任何伪影。
<a href="sms:19131234567;?&body=Question%20from%20mywebsite.com.%20%20MY%20MESSAGE%20-%20" title="Click here to TEXT US gallery token needs updating!">Send me SMS</a>
没有必要为Android和iOS分别使用两个不同的锚点标签。这会有所帮助。
// 没有联系电话
<a href="sms:?&body=message">短信</a>
// 有联系电话
<a href="sms:1234567890;?&body=message">短信</a>
// 在Android和iOS上都可以使用
仅限于 Android 和 iOS 平台:
<a href="sms://;?&body=Hello%20World">Only body</a>
只有一个收件人的 Android 和 iOS 邮件体:
<a href="sms://+15552345678;?&body=Hello%20World">one recipient only with body</a>
仅适用于Android,可以使用多个收件人,同时包含正文:
<a href="sms://+15552345678, +15552345679;?&body=Hello%20World">Android multiple recipients with body</a>
仅限iOS 可以发送带有多个收件人的电子邮件:
<a href="sms://open?addresses=+15552345678,+15552345679;?&body=Hello%20World">iOS multiple recipients with body</a>
请注意,正文应进行URI编码。
我们发现了一种提议的方法并进行了测试:
<a href="sms:12345678?body=Hello my friend">Send SMS</a>
以下是结果:
因此我得出结论:至少通过这种方法它并不能真正地工作。
对于那些希望在2022年使用的解决方案,我建立了一个小型Web应用程序,它可以自动使用iOS、macOS和Android的正确格式。
https://copy.gives/18005555555?body=Body+text+here
2022年的问题在于,在iOS上您必须使用双斜杠以及/&
因此,相应的工作URL如下:
sms://18005555555/&body=Body%20text%20here - iOS and macOS
sms://18005555555/?body=Body%20text%20here - Android
/&
,而针对安卓设备使用/?
。sms:18005555555?&body=Body
。在Android 10+、iOS 15和macOS 11.6+上都可以使用。 - Peter Knut<a href="sms:321-555-1111?&body=This is what I want to sent">click to text</a>
<a href="mailto:someone@sample.com?&subject=My subject&body=This is what I want to sent">click to email</a>
我在Android和iPhone的Chrome浏览器以及iPhone的Safari浏览器上进行了测试。
它们都按预期工作。
即使没有电话号码或电子邮件地址,它们也可以正常工作。
如果您要使用Android,则可以使用以下代码
<a href="sms:+32665?body=reg fb1>Send SMS</a>
针对iOS平台,您可以使用以下代码:
<a href="sms:+32665&body=reg fb1>Send SMS</a>
<a href="sms:+32665?&body=reg fb1>Send SMS</a>