【问题标题】:I want to show a Message to Internet Explorer (10 -11) Only and show it one time a day我只想向 Internet Explorer (10 -11) 显示一条消息并每天显示一次
【发布时间】:2020-06-16 01:22:26
【问题描述】:

我只想向 Internet Explorer (10 -11) 显示一条消息,并且每天显示一次

if (navigator.appName == 'Microsoft Internet Explorer' ||  !!(navigator.userAgent.match(/Trident/) || navigator.userAgent.match(/rv:11/)) || (typeof $.browser !== "undefined" && $.browser.msie == 1))
{
  $(window).on('load', function () {
    if (!Cookies.get('alreadyShow')) {
    Cookies.set('alreadyShow', true, {
      expires: 1
    });
        $('#ie-note-1').addClass('show');
    }
});
}

由于 cookie 脚本而导致消息未显示,可能无法与 IE 一起使用,或者出现了一些混乱

它总是显示“Cookies”是未定义的,但我正在添加

<script src="http://lab.alexcican.com/set_cookies/cookie.js"></script>

【问题讨论】:

    标签: javascript jquery cookies


    【解决方案1】:

    我刚刚在 Fiddle 中检查了您的代码,发现了 2 个问题:Fiddle 无法加载 cookie 脚本,因为正确的 URL 是 https://lab.alexcican.com/set_cookies/cookie.js 而不是 http://lab.alexcican.com/set_cookies/cookie.js 并且您正在使用 cookie 中的函数这个脚本错了。根据https://github.com/carhartl/jquery-cookie,更正的版本是

     $(window).on('load', function() {
        if (!$.cookie('alreadyShow')) {
           $.cookie('alreadyShow', 'true', {
           expires: 1
           });
           $('#ie-note-1').addClass('show');
        }
     });
    

    工作Fiddle

    【讨论】:

    • ERROR 消失了,但是添加 cookie 后 IE 仍然没有显示消息
    • @Joeadib 我刚刚在 IE 11 的本地文件中检查了您调整后的脚本,它按原样显示了一次消息。您检查的是哪个 IE 版本?
    【解决方案2】:

    您可以使用 localStorage 存储变量并检查它今天是否显示。

    var day = new Date().getDate();
    var val = localStorage.getItem("cur_date");
    if (!val || val != day) {
       // Show message and update cur_date
       localStorage.setItem("cur_date", day);
    }
    

    【讨论】:

    • 您正在将字符串与数字进行比较
    • 我想每天只显示一次消息,此代码将在每次寻呼机刷新时显示消息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多