0

在文件 (index.shtml) 上执行脚本包含时,页面不会执行它应该执行的任务(在页面底部显示一个 div)。

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="cookiesJs/jquery.cookie.js"></script>
<script src="cookiesJs/c.js"></script>

我必须重新加载页面才能使脚本生效。如何第一次加载脚本?以前从未遇到过这个问题。

出现的脚本:

document.write('<style type="text/css">a{text-decoration: none;}#cookieMessage {font-family: Arial, Helvetica, sans-serif;color: #222;background-color: #D1D3D4;padding: 8px;height: auto;position: fixed;width:200px;margin: 0px 0px 0 0;bottom:0px;right:10px;border:#FFF 2px solid;border-bottom:0px;padding: 0px 8px 8px 8px;-moz-border-radius-topleft: 8px;-moz-border-radius-topright: 8px;-webkit-border-top-left-radius: 8px;-webkit-border-top-right-radius: 8px;border-top-right-radius: 8px;border-top-left-radius: 8px;text-align:left;overflow:hidden;z-index:999999;}#cookieMessage h6 {font-size: 14px;text-transform: uppercase;padding: 0px;margin-top: 8px;margin-right: 0px;margin-bottom: 5px;margin-left: 0px;color: #222;}#cookieMessage img {border:0px;}#cookieMessage p {text-align: left;font-size: 11px;padding: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 2px;margin-left: 0px;color: #222;}#cookieMessage p a {color: #333;}#cookieMessage h6 a {color: #333;text-decoration: none;}#arrow{margin-top: -20px;}</style>');
$(document).ready(function(){
    $("#polup").toggle(function(){
        $("#cookieMessage").animate({height:120},500);
        $("#arrow").animate({height:0},160);
    },function(){
        $("#cookieMessage").animate({height:22},500);
        $("#arrow").animate({height:14},160);
    });
});

var accepted = get_cookie("accepted");
if(accepted == null){
    document.cookie = "accepted=no; path=/"; // initialize the cookie
}

function accept(){
    // when the client clicks accept
    $("#cookieMessage").fadeOut();
    $.cookie("accepted", "yes", {
       expires : 360,           //expires in 10 days
       path    : '/',          //The value of the path attribute of the cookie 
    });
}
function get_cookie ( cookie_name )
// method to retrieve a cookie based upon its name entered
    {
      var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

      if ( results )
        return ( unescape ( results[2] ) );
      else
        return null;
    }
var x = get_cookie("consentCookie");

        if((x == null) && (accepted == "no")){
        //if the cookie does not exist it is the users first time on the page
        document.cookie = "consentCookie=no; path=/";
        var policy = '<div id="cookieMessage"><h6>Cookie Policy</h6><p>Our website uses cookies. By using our website and agreeing to this policy, you consent to our use of cookies. <a href="cookie_policy.php">Find out more about cookies.</a></p><p><a href="#" onclick="accept();"><img src="cookiesJs/cookieimg/cookie.gif" width="20" height="20" alt="cookie" style="margin-bottom:-5px;" /> I accept</a></p></div>';
        document.write(policy);
    }else if((x == "no") && (accepted == "no")){
        // if they have visited before but not accepted
        document.write('<div id="cookieMessage">');
        var policy = '<a href="#_" id="polup"><h6>Cookie Policy</h6> <img id="arrow" align="right" src="cookiesJs/cookieimg/arrow.gif" width="18" height="14" alt="arrow" /></a></h6>';
        document.write(policy);
        document.write('<p>Our website uses cookies. By using our website and agreeing to this policy, you consent to our use of cookies.</p><p><a href="cookie_policy.php">Find out more about cookies.</a></p><p><a href="#" onclick="accept();"><img src="cookiesJs/cookieimg/cookie.gif" width="20" height="20" alt="cookie" style="margin-bottom:-5px;" /> I accept</a></p></div>');
        $("#cookieMessage").css("height","20");
    }else{
        //if they  have visited and accepted
        document.write('<div id="cookieMessage" style="display: none"><h6>Cookie Policy</h6></div>');
    }
4

1 回答 1

1

真的是脚本没有被执行吗?如果收到警报框,您是否尝试过警报?

在我看来,您的问题可能与在第一页加载时没有 cookie 的事实有关,您在代码中设置了它,但我相信您只能在下次加载页面时才能阅读它。您可以检查 cookie,如果不存在,设置 cookie,以编程方式重新加载并运行其余代码。

于 2012-08-17T12:19:52.333 回答