【问题标题】:Is it possible to use an sms: url to pre-fill a message with a body but no recipient?是否可以使用 sms: url 预填充带有正文但没有收件人的消息?
【发布时间】:2020-06-16 08:11:04
【问题描述】:

我想使用 Javascript 创建一个“通过 SMS 共享”按钮,该按钮将打开用户的消息应用程序(例如,在 iOS 或 Android 上)并预先填充正文,但收件人留空。关于为此使用什么 URL 方案,以及它是否可能,有很多相互矛盾的信息。

我一直在我的 Mac 上对此进行测试,但无法让它充分发挥作用。我试过的:

这会打开一个新选项卡,并提示打开消息应用程序,但在我允许时什么也不做:

window.open('sms:&body=text')

这将打开消息应用程序,其中“文本”正确填写在正文中,但“?”作为收件人:

window.open('sms:?&body=text')

这将打开消息应用程序,其中填写了“文本”作为收件人:

window.open('sms:;body=text')

我发现一些帖子表明这曾经是可能的(例如,http://blog.julianklotz.de/the-sms-uri-scheme/),但我怀疑它不再是了。谁能确认一下,或者如果可能的话,让我知道正确的语法是什么?

【问题讨论】:

  • 我使用<a> 标签——即<a href="sms://+19999999999?body=I%27m%20Some%20Test%20Text%20For%20Your%20A%20Tag">Send SMS</a> 但是——我认为格式是相同的..

标签: javascript android html ios


【解决方案1】:

确认这是有效的:

<div onClick="window.open('sms://+19999999999?body=I%27m%20Some%20Test%20Text%20For%20Your%20A%20Tag')">
    SEND SMS
</div>

您的格式有点不对.. 请记住,您将要进行 URL 编码.. 所以像空格这样的东西变成了 %20,像单引号这样的东西变成了 %27 等等等等

CONVERSELY -- 你也可以把它放在&lt;a&gt; 标记中......就像 --

<a href="sms://+19999999999?body=I%27m%20Some%20Test%20Text%20For%20Your%20A%20Tag">Send SMS</a>

它会以同样的方式工作......

UPDATE -- 这将打开 SMS 应用程序,询问收件人并预先填写文本 --

<a href="sms://?body=I%27m%20Some%20Test%20Text%20For%20Your%20A%20Tag">Send SMS</a>

<div onClick="window.open('sms://?body=I%27m%20Some%20Test%20Text%20For%20Your%20A%20Tag')">
    SEND SMS
</div>    

【讨论】:

  • 这包括电话号码,我不想这样做。
  • 查看更新答案 .. 均经过测试且工作正常
  • 您使用什么平台进行测试?如果我在 MacOS 上执行 window.open('sms://?body=Sometext') 之类的操作,它会在收件人字段中打开带有 '?body=Sometext' 的消息;在 iOS 上,Messages 应用根本无法打开。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-15
  • 1970-01-01
  • 1970-01-01
  • 2021-11-20
相关资源
最近更新 更多