桌面端SMS链接报错:scheme无注册处理程序问题求助
解决SMS协议链接无法打开的问题
问题重现
点击格式为 <a href="sms:+4733378901">+47 333 78 901</a> 的链接时,所有浏览器均报错:
Failed to launch 'sms:+4733378901' because the scheme does not have a registered handler.
同时tel:和mailto:协议链接可正常工作。
修复方案
检查系统默认短信应用
系统未注册处理sms:协议的默认应用是核心原因。进入系统设置,找到「默认应用」板块,将短信类应用设为处理短信链接的默认程序:- Windows:「设置-应用-默认应用」中找到「短信」选项并指定应用
- Mac:「系统设置-桌面与程序坞-默认应用」中设置短信应用
调整SMS链接格式
部分系统/浏览器对链接格式有特定要求,可尝试以下两种修改:- 移除号码前的加号:
<p><a href="sms:4733378901">+47 333 78 901</a></p> - 附加空
body参数(触发部分系统的协议处理逻辑):<p><a href="sms:+4733378901?body=">+47 333 78 901</a></p>
- 移除号码前的加号:
确认浏览器权限
检查浏览器是否有权限调用系统应用:- Chrome:「设置-隐私和安全-网站设置-权限-启动应用」确保权限开启
- Firefox:「设置-隐私与安全-权限」中确认相关权限未被禁用
验证步骤
修改链接后在各浏览器测试点击,若仍无效,尝试重启浏览器和系统,或更新浏览器至最新版本。
内容的提问来源于stack exchange,提问作者MFN
相关产品推荐
相关产品推荐

