Не использует асинхронное соединение, но все равно получает: Unchecked runtime.lastError: Не удалось установить соединение. Получающий конец не существует - PullRequest
0 голосов
/ 24 апреля 2019

Я написал это расширение Chrome:

content.js

// Listen for messages
chrome.runtime.onMessage.addListener(function (msg, sender, sendResponse) {
    // If the received message has the expected format...
    if (msg.text === 'report_back') {
        sendResponse(document);
    }
});

background.js

// A function to use as callback
function doStuffWithDom(domContent) {
    console.log('I received the following DOM content:\n' + domContent);
}

// When the browser-action button is clicked...
chrome.browserAction.onClicked.addListener(function (tab) {
    // ...check the URL of the active tab against our pattern and...
        // ...if it matches, send a message specifying a callback too
        if(tab.url && tab.url.indexOf('git') > -1){
            chrome.tabs.sendMessage(tab.id, {text: 'report_back'}, doStuffWithDom);   
        }

});

manifest.json

{
  "manifest_version": 2,
  "name": "FetchCSV",
  "version": "1.0.0",
  "description": "Fetches the CSV from issues from github",
  "browser_action": {
    "default_logo": "logo.png"
  },
  "content_scripts": [{
    "matches": ["*://*/*"],
    "js": ["content.js"]
  }],
  "permissions": [
    "tabs",
    "activeTab",
    "*://*/*"
  ],
  "background": {
    "scripts": [
      "background.js"
    ],
    "persistent": false
  }
}

Я пытаюсь получить полную доступ к текущей странице в Chrome.Но он возвращает doStuffWithDom всегда возвращает неопределенное значение и возвращает исключение «Не проверено runtime.lastError: Не удалось установить соединение. Получающий конец не существует.».Я хотел бы вернуть полную структуру DOM и сохранить ее на диске.

Я что-то упустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...