我正在構建一個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) –