服务条款Javascript警报框

时间:2014-07-19 16:40:52

标签: javascript joomla

我正在使用Joomla 3.3.1构建一个网站,我想在用户第一次访问该网站时弹出一个警告框(而不是在后续页面点击或刷新页面时弹出)。警告框应显示“通过访问此页面,您同意其服务条款”,“服务条款”是指向特定页面的链接。用户可以单击“确定”。我是JavaScript的新手,但我尝试了下面的代码:

<script>
function TOS(){
alert("By visiting this page, you agree to its Terms of Service.");
}
TOS();
</script>

不出所料,只要我点击页面上的任何内容,就会弹出警报。我也尝试在onload中调用该函数,但我得到了类似的结果。

非常感谢您提供的任何指导或参考资料!

2 个答案:

答案 0 :(得分:0)

类似的东西:

var createCookie = function(name, value, days) {
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    else {
        expires = "";
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) {
                c_end = document.cookie.length;
            }
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}
function TOS(){
    var cookieName = 'hasVisitedBefore';
    var cookie = getCookie(cookieName);
    if (!cookie) {
        alert("By visiting this page, you agree to its Terms of Service.");
        createCookie(cookieName,true,3650);
    }
}
TOS();

我在这个问题中使用了createCookie和getCookie函数:How do I create and read a value from cookie?

这是一个工作小提琴:http://jsfiddle.net/kvLrt/1/

答案 1 :(得分:0)

在模板的index.php文件中,在&lt; body&gt;下添加以下代码:标记:

<?php
    $alertCookie  = JFactory::getApplication()->input->cookie;
    $value        = $alertCookie->get('alertCookie', '');
    if (!$value){ ?>

    <script>
        function TOS(){
            alert("By visiting this page, you agree to its Terms of Service.");
        }
        TOS();
    </script>
    <?php 
    }
    else{
        $expireCookieUT = echo time() + 10000000;
        $alertCookie->set('alertCookie', '1', $expireCookieUT);
    }
?>