三种方案
每种方案都是一小段文本,手机知道该把它交给哪个应用。mailto: 打开邮件应用,tel: 打开拨号器,sms: 打开短信应用,收件人,有时连信息内容,都已填好。
电话号码最好使用带加号和国家区号的国际格式,例如 +15035550123,这样来自其他国家的访客也能用这个码。
- mailto:hello@example.com?subject=Order%20question&body=Hi(RFC 6068)
- tel:+15035550123(RFC 3966)
- sms:+15035550123?body=Hello(RFC 5724)
- SMSTO:+15035550123:Hello(较老的约定,仍被广泛读取)
- MATMSG:TO:hello@example.com;SUB:Hi;BODY:Hello;;(较老的邮件约定)
对信息文本编码
mailto 和 sms 链接中的主题和正文必须做百分号编码,所以空格变成 %20,文本中的 & 符号变成 %26。未编码的字符可能截断信息,或者破坏链接。
各平台对 sms 正文参数的解析并不总是一致,这也是较老的 SMSTO: 形式在二维码生成器中仍然常见的原因之一。印刷之前,在 iPhone 和安卓上都测试一下,是可靠的检验办法。
这些码做不到什么
二维码自己不能发送邮件、发送短信或拨打电话。它只是打开应用并填好各字段,由扫描的人决定是否按下发送或拨打。
由于发送之前收件人是可见的,人们应该检查它是否与预期相符。如果一个码预填了发往高额收费号码或陌生地址的信息,那就是一个警告信号。