我正在构建一个Google Chrome扩展,它为对象的“特定网站”的DOM“刮”并在JavaScript函数中处理它们。如何将一个Angular对象传递给Google Chrome扩展中的Javascript函数?
目前我正在使用chrome.tabs.query API在后台页面中执行操作。我能拉出来的数据URL与
chrome.tabs.query({ 'active': true, 'lastFocusedWindow': true }, function (tabs) {
var url = tabs[0].url;
console.log(url);
var s = url.split('?')[1];
var installation = s.split('&')[0];
full_url = 'http://domain.com/' + url;
window.open(full_url, '_blank');
});
但现在我想从页面的DOM的角度对象传递给类似的功能:
chrome.tabs.query({ "active": true, "lastFocusedWindow": true }, function (tabs) {
var dom_el = this.document.querySelector('[ng-controller="chartNewController"]');
var ng_el = this.angular.element(dom_el);
var ng_el_scope = this.ng_el.scope();
var address = this.ng_el_scope.fullAddress;
console.log(address);
});
而且我得到的以下错误:
Cannot read property 'querySelector' of undefined at null.callback
我不知道我会有关的最有效的方法,所以我的问题是:如何在雷加后台HTML页面的DOM来“凑”角物体最优化的方式ds构建一个Chrome扩展?
您必须使用[内容脚本](https://developer.chrome.com/extensions/content_scripts) –