Javascript 设置Cookie时出错-无法读取属性';1';空的

Javascript 设置Cookie时出错-无法读取属性';1';空的,javascript,google-chrome,cookies,Javascript,Google Chrome,Cookies,我在几个网站上部署了一个应用程序。所有UI错误都会发送到服务器进行日志记录。 我们得到了以下错误 上下文:使用来自w3school()的代码,使用纯javascript(无jQuery)设置cookie 浏览器:Chrome 版本:45.0.2454.101 操作系统:Linux TypeError: Cannot read property '1' of null at _parseKeyValuePair (eval at <anonymous> (unknown sou

我在几个网站上部署了一个应用程序。所有UI错误都会发送到服务器进行日志记录。 我们得到了以下错误

上下文:使用来自w3school()的代码,使用纯javascript(无jQuery)设置cookie

浏览器:Chrome

版本:45.0.2454.101

操作系统:Linux

TypeError: Cannot read property '1' of null    
at _parseKeyValuePair (eval at <anonymous> (unknown source), <anonymous>:123:22)
at parseCookie (eval at <anonymous> (unknown source), <anonymous>:73:16)
at HTMLDocument.Object.defineProperty.set [as cookie] (eval at <anonymous> (unknown source), <anonymous>:176:18)
at setCookie (script.min.js:1:3446)
at Array.widgetLoaded (script.min.js:1:11687)
at handleMessage (script.min.js:1:1640)
at eval (eval at <anonymous> (unknown source), <anonymous>:401:13)
TypeError:无法读取null的属性“1”
at_parseKeyValuePair(评估at(未知源),:123:22)
在parseCookie(在(未知源)处求值):73:16
在HTMLDocument.Object.defineProperty.set[作为cookie](在(未知源)处求值):176:18
在setCookie上(script.min.js:1:3446)
在Array.widgetload(script.min.js:1:11687)
在handleMessage(script.min.js:1:1640)
评估时(评估时(未知来源),:401:13)

我在谷歌找不到任何类似的例外。有人吗?

我认为
\u parseKeyValuePair
调用正则表达式并访问其结果,而不检查其是否有效,如下代码所示:

function _parseKeyValuePair(str) {
  var result = str.match(/(\w+)=(.+?);/);
  return {key: result[1], value: result[2]);
}
但是如果正则表达式与字符串不匹配,
结果可以是
null
。在访问
结果
之前,您应该检查该结果是否为
null
,并且仅当该结果不为
null
时才使用

例如,上述函数可以重写为:

function _parseKeyValuePair(str) {
  var result = str.match(/(\w+)=(.+?);/);

  if (result !== null) {
    return {key: result[1], value: result[2]);
  }
}

虽然这不是一个精确的解决方案,因为我不知道real
\u parseKeyValuePair
parseCookie
,但我确信这可以帮助您。

我认为这很有帮助:)所以,您的意思是,为了重新编译,我需要访问不存在的cookie条目。是这样吗?可能是这样。你能给我看看你的
\u parseKeyValuePair()
?给你一个更恰当的答案是有帮助的。