我正在尝试向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开发工具打开时,他的应用程序没有执行。。。