如果用户使用UC浏览器访问我的网站,则显示警报

时间:2019-08-08 12:10:39

标签: javascript jquery browser web-based

我有一个网站,对于那些正在使用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地址的同一用户显示一次警报。请帮我解决一下这个。

1 个答案:

答案 0 :(得分:0)

用于 UCBrowser

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!");
    }

完整解决方案

现在只需要一天一次只显示一次消息,就需要存储最后一个警报时间戳,您可以选择自己喜欢的方法,我认为最简单的方法是使用本地存储,这里带有注释的完整代码: / p>

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");
  }

}


相关问题