当涉及设置cookie并且从java脚本获取相同信息时,我面临着不同浏览器的问题。
我尝试了很多实验,但我无法得到预期的解决方案。我做错了什么?
答案 0 :(得分:1)
我不认为这部分看起来是正确的:
// Store the cookie
Cookie.prototype.store = function () {
var cookieval = "";
for(var prop in this) {
// ...
cookieval += prop + ':' + escape(this[prop]);
};
// ...
};
基本上,这会循环遍历每个全局Javascript变量(与cookie无关)并将它们添加到cookie值。这真的是你想要的吗?在Chrome中运行以下内容时查看输出:
这将是一个巨大的cookie。
除此之外,您所看到的错误与同源政策有关。除非外部域具有特殊设置,否则您无法从页面域外的域引用Javascript。 Google有一些具有该特殊设置的服务器,因此如果您不想在服务器上托管jquery文件,则可以使用以下URL:
https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
老实说,看起来你有很多问题要处理(跨域问题,jQuery未定义,跨浏览器兼容性)。您应该尝试简化代码,看看它是否在简单的情况下工作。不是将所有Javascript变量存储在cookie中,而是查看是否可以在cookie中存储简单的字符串值,并查看您的代码是否与浏览器兼容。如果可行,请尝试添加过期,然后添加域/路径等。这样您就可以一次关注一个问题。