我有一个打开页面的链接,该页面立即将网页上的用户重定向到带有消息的 Whatsapp。 此重定向会触发一个弹出窗口,在 Chrome 上显示“弹出窗口已被阻止”。但是,一旦用户选择“始终允许”,如下图所示,用户将被重定向,并且 Whatsapp 将打开共享屏幕,其中可以选择选择联系人或发送到 Whatsapp 状态以与其共享 URL 中的消息。
我的问题是,用户第一次允许弹出窗口(选择始终允许)后,接下来的时间它只是打开一个新选项卡,其中显示带有 url 的空白页面。当没有安全弹出窗口供用户允许时,Whatsapp 不会打开,因为用户已经选择始终允许。
在js中,我使用了
window.open(url)
。
我也尝试过:
window.location.href =url;
window.location.assign(url);
window.location.replace(url);
document.location.href = url;
为什么第一次提示用户授予权限时可以运行,但用户已经授予权限后却失败了?
当用户单击时,我在按钮上实现了类似的功能,效果很好。据我了解,当点击等用户事件未触发重定向时,浏览器 (Chrome) 会警告用户。
但是,我想将链接重定向功能实现为用户快捷方式,即使用户每次都会遇到警告。当网站允许用户显示弹出窗口时,如何使 WhatsApp 打开功能正常工作?
day.js
代码:
let url = `whatsapp://send?text=MyMessage`
window.open(url);
HTML代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A countdown app">
<title>Final Countdown </title>
<link href="img/icons/favicon.png" rel="icon">
<!-- ios support -->
<link rel="apple-touch-icon" href="/img/icons/favicon.png">
<meta name="apple-mobile-web-app-status-bar" content="#7b68ee">
<meta name="theme-color" content="#7b68ee">
<meta name="theme-color" media="(prefers-color-scheme: light)" content="grey">
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#7b68ee">
<body>
<div>
Redirecting to whatsapp...
</div>
<script src="day.js"></script>
</body>
</html>
在 Android 版 chrome 上进行了测试。 我使用了安全和不安全的连接,并且都给出了相同的结果。
如果在安装了whatsapp的手机上用手机浏览器打开,可以在这里测试。
https://whatsapplink--rcountdown.netlify.app/dayofyear.html
编辑:改进问题的措辞
@JESii。面临同样的问题。第一次尝试时,它在 Whatsapp 上重定向,但预设消息不存在,如果您刷新,那么第二次它就会出现。请有人帮忙。