Cookies - js文件数据未动态更新

时间:2016-05-25 07:46:13

标签: javascript jquery cookies

我正在研究cookies。

描述: 想要更改js文件并将其存储在cookie中。

如果我点击B2b industry链接,页面应将js文件从banking.js替换为b2b.js,依此类推......

上述方案(替换js文件)正在按预期工作。

问题: 但是,在加载脚本文件后,我正在尝试替换<h1>, <p>文件中b2b.js个标签的内容,这些内容未受影响...

请帮忙吗?

PS :同样适用于CSS文件切换

init.js

var Cookies = {
    SetCookie: function (c_name, value, exdays) {
        var exdate = new Date();
        exdate.setDate(exdate.getDate() + exdays);
        var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
        document.cookie = c_name + "=" + c_value;
    },

    GetCookie: function (c_name) {
        var i, x, y, ARRcookies = document.cookie.split(";");
        for (i = 0; i < ARRcookies.length; i++) {
            x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
            y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
            x = x.replace(/^\s+|\s+$/g, "");
            if (x == c_name) {
                return unescape(y);
            }
        }
    }
}

// file change
if (Cookies.GetCookie("industryBased") != "") {
    setIndustryFile(Cookies.GetCookie("industryBased"));
}

function setIndustryFile(industryFileName) {
    document.getElementById("industryScriptFile").src = industryFileName;
    Cookies.SetCookie("industryBased", industryFileName, 60);
    return false;
}

的index.html

<!DOCTYPE html>
<html>
  <head>
    <title>Test</title>
    <script src="jquery.min.js"></script>
    <script id="industryScriptFile" src="banking.js" type="javascript"></script>
    <script src="init.js"></script>
  </head>
  <body>
    <h1>What is Lorem Ipsum?</h1>
    <ul>
      <li><a href="#b2b" onclick="setIndustryFile('b2b.js');return false;")>B2b industry</a></li>
      <li><a href="#travel" onclick="setIndustryFile('travel.js');return false;")>Travel industry</a></li>
      <li><a href="#healthcare" onclick="setIndustryFile('healthcare.js');return false;")>Healthcare industry</a></li>
    </ul>
    <p>Lorem Ipsum</p>
    <a href="page2.html">Go to Page 2</a>
  </body>
</html>

b2b.js

jQuery('h1').html('B2B Industry heading...');
jQuery('p').html('B2B Industry content...');
jQuery('body').css('color', 'red');

1 个答案:

答案 0 :(得分:1)

http://browsercookielimits.squawky.net/

我认为您的每个Cookie大小都过大,因此浏览器无法保存它们。

每个浏览器对Cookie存储的限制大小不同。确保您的Cookie大小不会过大。