jquery 显示警报,如果用户来到我的网站与UC浏览器

1l5u6lss  于 2023-01-16  发布在  jQuery
关注(0)|答案(1)|浏览(103)

我有一个网站,我想在其中弹出警报,为那些正在使用UC浏览器的访客。(下面的代码是在javascript)。我想在javascript的答案也
对于UC浏览器

<script>
    if (navigator.userAgent.indexOf(' UCBrowser/') >= 0) {
       alert("Hello! I am an alert box!");
    }
</script>

适用于UC mini

<script>
    if (navigator.userAgent.match(/^Mozilla\/5\.0 .+ Gecko\/$/)) {
        alert("Hello! I am an alert box!");
    }
</script>

我知道其中一个将工作。我发现这个代码从互联网上。请指导我,如果这个代码正确与否。和最重要的我想显示警报一次,每天为同一用户的Ip地址。请帮助我这个。

6kkfgxo0

6kkfgxo01#

用于UC浏览器

navigator.userAgent.indexOf(' UCBrowser/') >= 0

我的意思是在userAgent中有“UCBrowser/”字符串
对于UCMini,您可以执行以下操作:

navigator.userAgent.indexOf(' UCMini/') >= 0

如果要加入两个条件,请执行以下操作:

if (navigator.userAgent.indexOf(' UCBrowser/') >= 0 || navigator.userAgent.indexOf(' UCMini/') >= 0) {
       alert("Hello! I am an alert box!");
    }

完整解决方案

现在要做到一天只显示一次消息你需要存储最后一次提醒的时间戳,你可以选择自己喜欢的方法,我认为最简单的就是使用本地存储,这里是完整的代码和注解:

if (navigator.userAgent.indexOf(' UCBrowser/') >= 0 || navigator.userAgent.indexOf(' UCMini/') >= 0) {

  // get current timestamp
  now = new Date().getTime();

  // get last timestamp or zero if not present
  last = JSON.parse(localStorage.getItem('last') || 0 )

  // set the last timestamp for next visit
  localStorage.setItem('last', now);

  // if fist time visit (last == 0) or more the 24 hours (86400 seconds) -> alert
  if ( last == 0 ){
    alert("Alert first time");
  }else if( last != 0 && now - last > 86400 ){
    alert("Alert next time");
  }

}

相关问题