如何只进行一次Javascript警报显示?

时间:2014-02-05 01:35:08

标签: javascript jquery html css alert

我在Javascript上很糟糕,但不幸的是,我需要完成这一项任务。我需要一个Javascript警报只显示一次 - 不是每个浏览器会话一次,而是只有一次。我正在为一个学校竞赛项目工作;该警报将涉及Internet Explorer与我的网站不兼容的方式,建议使用Chrome或Firefox。但是,我不想用弹出窗口来判断评委,所以只出现一次才是最好的。我发现在线下面显示的代码,但我无法使其正常工作。它可能就像在某处缺少一个括号一样简单 - 再次,我对Javascript不满意,只是HTML和CSS。 :P如果鼓励替代代码执行我的请求,那么无论如何,建议它!谢谢大家!

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>

<!--[if IE]>    
    <script type="text/javascript">
        $(document).one(function() { alert("You are using Internet Explorer to view this webpage.  Your experience may be subpar while using Internet Explorer; we recommend using an alternative internet browser, such as Chrome or Firefox, to view our website."); } );
    </script>
<![endif]-->

1 个答案:

答案 0 :(得分:6)

one不是您所需要的,因为页面刷新将覆盖所有“内存”。

您很可能正在寻找localStorage,或者,如果您使用的是第8版之前的Internet Explorer,请使用Cookie:

    <script type="text/javascript">
        var alerted = localStorage.getItem('alerted') || '';
        if (alerted != 'yes') {
         alert("You are using Internet Explorer to view this webpage.  Your experience may be subpar while using Internet Explorer; we recommend using an alternative internet browser, such as Chrome or Firefox, to view our website.");
         localStorage.setItem('alerted','yes');
        }
    </script>

修改

对于8之前的IE版本,您需要使用cookie,因为localStorage没有支持。这是完全相同的概念,只是不同的方法。请查看this question以在您的网页上实施Cookie。

example复制代码后,您应该有2个功能 - createCookie()getCookie()

var createCookie = function(name, value, days) {
....
//copy it from the other question
..
}

function getCookie(c_name) {
....
//copy it from the other question
..
}

<!--[if IE]>  
    <script type="text/javascript">
                var alerted = getCookie('alerted') || '';
                if (alerted != 'yes') {
                 alert("You are using Internet Explorer to view this webpage.  Your experience may be subpar while using Internet Explorer; we recommend using an alternative internet browser, such as Chrome or Firefox, to view our website.");
                 createCookie('alerted','yes',365);//cookies expires after 365 days
                }
            </script>
<![endif]-->

希望这有帮助!