如何通过html链接预填充短信正文文本

mer*_*cam 105 html sms hyperlink ios

如何使用html链接打开带预先填充的正文的短信应用程序?

我读过的所有内容似乎都表明短信:18005555555?body = bodyTextHere

应该工作,但在iPhone上,这不起作用.如果我取出?body = bodyTextHere,并且只使用sms:phonenumber,它就可以了.

我已经看到了QR码通过safari链接执行此操作的几个实例.他们如何预先填充正文?

Bra*_*ego 166

事实证明这是100%可能,虽然有点hacky.

如果您希望它在Android上运行,您需要使用以下格式:

<a href="sms:/* phone number here */?body=/* body text here */">Link</a>

如果您希望它在iOS上运行,您需要:

<a href="sms:/* phone number here */;body=/* body text here */">Link</a>

这里的现场演示:http://bradorego.com/test/sms.html(注意"电话和?身体"和"电话和身体"应自动填充to:字段和正文.查看源代码以获取更多信息信息)

更新:

显然iOS8必须改变我们的东西,所以感谢其他一些评论者/响应者,iOS有一种新的风格:

<a href="sms:/* phone number here */&body=/* body text here */">Link</a>

(电话号码是可选的)

  • 这些似乎都不适用于iOS 7. (8认同)
  • 大**注意:**可以在Android上更改处理`sms` URI的应用程序,许多制造商都会这样做; 因此,虽然它可能适用于特定设备/应用程序,但它可能无法在另一个设备/应用程序上运行(或仅在更新后).我的建议是**永远不要在Android**上使用它,除非你只是设置电话号码; 仅在已测试的iOS版本和非Android平台上使用它. (7认同)
  • 注意:我没有在最新的操作系统版本(iOS7/iPhone 5S/5C和Android 4.4)上测试过这些.有些报道称它们可能不再有效,特别是Android转而使用环聊而不是本机短信应用.当我有机会时,我会调查它. (5认同)
  • 我现在看一看,因为它有时是工作,有时不工作,这看起来很奇怪.我的发现:如果你拨打一个号码,你至少之前发过一条短信,这个链接可以正常使用"正文".如果它是一个完整的新数字你运气不好,你只得到数字:( (3认同)
  • 没有任何链接似乎与 iOS 11.1 中的 body 一起使用 (2认同)

小智 46

我知道这是一个旧线程但偶然发现它并发现某些部分不再相关.

我发现如果您只想在不添加电话号码的情况下填写文本,您可以执行以下操作:

sms:?&body=/* message body here */
Run Code Online (Sandbox Code Playgroud)

  • 这就是我一直在寻找的答案。谢谢您的帮助! (2认同)
  • 不适用于 Android 设备。只有 ?body= 可以解决这个问题。 (2认同)

小智 40

对于iOS 8,试试这个:

<a href="sms:/* phone number here */&body=/* body text here */">Link</a>
Run Code Online (Sandbox Code Playgroud)

切换";" 用"&"为我工作.

  • @MichalSkop刚刚在iOS 9上测试过它的工作原理 (6认同)
  • fwiw我刚刚在iOS 10上测试了它,它仍然可以工作:). (2认同)

小智 30

只需将所有符号按此顺序排列(我只按此顺序测试它,因为它对我来说代码最有意义).

注意对身体的链接...我只是把... ;?&body=.另外,请注意我发现我需要%20用于任何空间.

我已经在我的iphone(v.9.2)和另一个android上进行了测试,它运行得很好.

这将解决不得不针对不同设备进行破解的问题.我在短信中测试时没有任何文物.

<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>
Run Code Online (Sandbox Code Playgroud)


Mah*_*oos 15

仅限Android 和 iOS机身:

<a href="sms://;?&body=Hello%20World">Only body</a>
Run Code Online (Sandbox Code Playgroud)

Android 和 iOS一个收件人只有正文:

<a href="sms://+15552345678;?&body=Hello%20World">one recipient only with body</a>
Run Code Online (Sandbox Code Playgroud)

只有带有正文的Android多个收件人:

<a href="sms://+15552345678, +15552345679;?&body=Hello%20World">Android multiple recipients with body</a>
Run Code Online (Sandbox Code Playgroud)

仅 iOS多个收件人与正文:

<a href="sms://open?addresses=+15552345678,+15552345679;?&body=Hello%20World">iOS multiple recipients with body</a>
Run Code Online (Sandbox Code Playgroud)

请注意,正文应该是 URI 编码的。


小智 12

Android和iOS不需要两个单独的锚标记。这应该有所帮助。

//没有联系电话
<a href="sms:?&body=message">Text Message</a>

//有联系电话
<a href="sms:1234567890;?&body=message">Text Message</a>

//在Android和iOS上均可使用

  • 谢谢你,它在 iOS 和 Android 上运行得很好!请注意 MacOS 上的“无联系号码”版本 - 它将短信“to”设置为“?” (2认同)

Ben*_*Ben 10

我们找到了一种方法并进行了测试:

<a href="sms:12345678?body=Hello my friend">Send SMS</a>
Run Code Online (Sandbox Code Playgroud)

结果如下:

  • iPhone4 - 错误(消息体空);
  • 诺基亚N8 - 确定(消息正文 - "你好我的朋友",至"12345678");
  • HTC Mozart - 故障(消息"不支持的页面"(点击"发送短信"链接后));
  • HTC Desire - 错误(消息"无效收件人:
    <12345678?body = Hellomyfriend>"(点击"发送短信"链接后)).

因此,我得出结论它至少没有真正起作用 - 至少用这种方法.


Sam*_*ton 9

对于那些想要 2022 年有效的解决方案的人,我设置了一个小型 Web 应用程序,它会自动使用适用于 iOS、macOS 和 Android 的正确格式。

https://copy.gives/18005555555?body=Body+text+here
Run Code Online (Sandbox Code Playgroud)

2022 年的问题是,在 iOS 上,您*必须*使用双斜杠以及/&

所以各自的工作URL如下

sms://18005555555/&body=Body%20text%20here - iOS and macOS
sms://18005555555/?body=Body%20text%20here - Android
Run Code Online (Sandbox Code Playgroud)

请注意/&Apple 设备和/?Android 设备

您可以在这里尝试一些工作示例(不适用于嵌入式):

https://jsfiddle.net/thatguysam/swLtjh0q/

  • 我刚刚测试了一个通用 URL:`sms:18005555555?&amp;body=Body`。适用于 Android 10+、iOS 15、macOS 11.6+ (4认同)

Deb*_*e V 5

要获取短信和邮寄:链接,使其在iPhone和Android上均可运行,而无需任何JavaScript,请尝试以下操作:

<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>
Run Code Online (Sandbox Code Playgroud)

我在Android和iPhone的Chrome浏览器上进行了测试,在iPhone的Safari上进行了测试。
他们都按预期工作。他们也没有电话号码或电子邮件地址。


Pan*_*han 5

要使用 Android,请使用以下代码

<a href="sms:+32665?body=reg fb1>Send SMS</a>
Run Code Online (Sandbox Code Playgroud)

对于 iOS,您可以使用以下代码

<a href="sms:+32665&body=reg fb1>Send SMS</a>
Run Code Online (Sandbox Code Playgroud)

下面的代码适用于 iOs 和 Android

<a href="sms:+32665?&body=reg fb1>Send SMS</a>
Run Code Online (Sandbox Code Playgroud)