自定义函数上的Jquery Uncaught TypeError

时间:2017-08-23 01:55:03

标签: javascript jquery

在我的代码中我得到未捕获的TypeError:无法在console中读取null 的属性'1',但我的函数看起来很好我不知道为什么每次都会导致此错误我准备的其他功能如何完全正常 这是工作jsFiddle

这是我的代码部分

$(document).ready(function() {
    var URLCheck = document.referrer;
    var frameLocation = URLCheck.match(/:\/\/(.[^/]+)/)[1];
    var whiteLocation = 'mywebsite.com';
    if (whiteLocation == frameLocation) {
        $('#adprimary').remove();
    }
});

2 个答案:

答案 0 :(得分:2)

如果找不到匹配项,并且您尝试访问null的{​​{1}}属性,String.prototype.match会返回1

在访问任何属性之前检查它是否为null

null

或简短版本:

var frameLocation = URLCheck.match(/:\/\/(.[^/]+)/);
if(frameLocation !== null) {
  frameLocation = frameLocation[1];
}

在您的代码中:

var frameLocation = (URLCheck.match(/:\/\/(.[^/]+)/) || [])[1];

答案 1 :(得分:0)

  1. document.referrer可能不存在;
  2. URLCheck.match(/:\/\/(.[^/]+)/)可能未定义
相关问题