仅打开调试器时出现Google chrome扩展错误



我正在尝试向googlechrome扩展内的服务器发送ajax请求。我也在使用angular,代码在控制器里。这个请求通常工作得很好,但当我打开DevTools时,它会抛出一个错误。这是代码的相关部分:

    $scope.sendLink = function (){
        chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
            var url = tabs[0].url;
            var date = new Date();
            var xPost = new XMLHttpRequest();
            xPost.open("POST", **URL HERE*",true);
            xPost.setRequestHeader("Content-type", "application/json");
            xPost.send(JSON.stringify({"name":$scope.name,"url":url,"date":date}));
        });
    }

当我在扩展上点击inspect元素,然后执行请求时,tabs数组返回为空。如果关闭devTools窗口,它可以正常工作。我不明白为什么会这样。如有任何解释,不胜感激!

您本可以通过chrome-dev工具更改javascript引擎的行为。只有当开发工具打开时,这才会被激活。

例如,有一次我发现我的一个伙伴使用chrome-dev工具关闭了javascript。当chrome开发工具打开时,他的应用程序没有执行。。。

最新更新