2016-07-03 8 views
0

Я пытаюсь написать простой плагин для chrome, и у меня есть скрипт контента и само расширение. Я пытаюсь настройки простого обмена сообщениями, согласно Google Docs: HereПростые сообщения в расширении Google chrome

Вот мой manifest.json файл:

{ 
    "manifest_version": 2, 

    "name": "My Plugin", 
    "description": "My Plugin", 
    "version": "1.0", 

    "browser_action": { 
    "default_icon": "icon.png", 
    "default_popup": "popup.html" 
    }, 
    "permissions": [ 
    "activeTab" 
    ], 
    "content_scripts": [ 
    { 
     "matches": ["*://*/*"], 
     "js": ["js/content.js"] 
    } 
    ] 
} 

А вот content.js файл:

chrome.runtime.onMessage.addListener(
    function (request, sender, sendResponse) { 
     debugger; 
     if (request.action === "GetPageContent") { 
      sendResponse({ dom: document.documentElement.outerHTML }); 
     } 
    } 
); 

А вот фрагмент кода от app.js thats отправить сообщение в файл сценария содержания:

chrome.tabs.getSelected(null, function (tab) { 
     chrome.tabs.sendMessage(tab.id, { action: "GetPageContent" }, function (response) { 
      console.log(response); 
     }); 
    }); 

Так что, когда я нажимаю кнопку, чтобы вызвать выполнение, он не в content.js файле на линии sendResponse({ dom: document.documentElement.outerHTML });

поговорку, что:

chrome.runtime.onMessage.addListener 
Error in event handler for runtime.onMessage: 
Error: Attempting to use a disconnected port object 

Что это значит? Я не использую ни один порт, также в документах Google также нет никаких упоминаний о портах для простого обмена сообщениями. Спасибо!

ответ

0

Я нашел причину, консоль разработчика Chrome, если она открывается вместе, когда я тестирую мое расширение, то эта ошибка возникает.