使用Android或台式机浏览器,请访问此WhatsApp test page并单击Send
按钮,如果未安装WhatsApp,它将显示消息。
该页面上的代码检测如何工作?我尝试了以下操作,但没有任何反应
try {
location.href = 'whatsapp://send/?phone=62812345678&text=test';
} catch (e) {
console.log(e);
}
[在页面上,看来,至少在Chrome上,他们以src为whatsapp://send/?phone=<number>&text=test
的方式以编程方式打开了一个iframe。然后,他们开始1250毫秒超时,然后“您好像没有安装WhatsApp!”。显示文字。 blur
事件处理程序取消了此超时,这意味着它们的检查是基于您的设备在加载URL时打开WhatsApp的结果,从而模糊了窗口。
在IE上,他们使用window.navigator.msLaunchUri
,它接受window.navigator.msLaunchUri
。
通过打开浏览器的devtool并搜索noHandlerCallback
自己查看。在Chrome上,可以从devtools的菜单中找到“搜索”:
WhatsAppApiOpenUrl