正如在这个jsfiddle中所展示的那样,如果你有一个JS文件并且在不使用它的情况下创建了一个JSON对象,它的行为会有所不同,具体取决于键(成员)是否用引号括起来.
有效代码:{ a: 1};
无效代码:{ "a": 1 };
您将得到的是一条错误消息(在Chrome中,与FF/IE不同,但语法仍然失败)
未捕获的SyntaxError:意外的令牌:
但是如果你以某种方式使用该对象,例如:alert({ "a": 1 });一切都好了.
为什么会这样?
我正在尝试在我的chrome扩展中设置自定义cookie,以便我的服务器知道客户端正在运行扩展.
我一直在尝试这种方法:
chrome.cookies.set({
url: 'http://www.mydomain.com',
name: 'iamalive',
value: 'yes'
}, function(cookie) { ... });
Run Code Online (Sandbox Code Playgroud)
当chrome已经加载并运行时(例如:安装后),这非常有效.但是当这个代码在chrome启动时运行时,我收到此错误:
在cookies.set期间出错:找不到当前执行上下文的可访问cookie存储.
有什么方法可以告诉chrome.cookies API何时准备就绪?如果没有,是否有另一个问题的解决方案,例如修改用户代理或向服务器的所有http请求添加自定义标头?