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