2016-05-31 7 views
0

Я пытаюсь создать небольшое расширение для хром. Я хочу использовать скрипт контента в web.whatsapp.com.
Мой манифест:Скрипт содержимого в Whatsapp web

{ 
    "manifest_version": 2, 

    "name": "Hello world", 
    "description": "Hello world", 
    "version": "1.0", 

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

Мой content_script:

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) { 
    if (request.greeting == "hello") 
      sendResponse({message: "hi"}); 
    }); 

Я использую эти коды в моем popup.js, чтобы проверить, если содержание-скрипт впрыскивается:

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { 
    chrome.tabs.sendMessage(tabs[0].id, {greeting: "hello"}, function(response) { 
     if (response) { 
      console.log("Already there"); 
     } 
     else { 
      console.log("Not there, inject contentscript"); 
     } 
    }); 
}); 

И, по-видимому, он всегда печатает "Not there, inject contentscript". Я также проверил content script в developer tools на вкладке sources и не смог найти там своего сценария. Что я сделал не так?

+1

Это кажется вам не хватает слэш в вашем шаблоне, он должен быть '*: // web.whatsapp.com/* ' – rsanchez

+0

@rsanchez, потому что в web.whatsapp.com это одностраничное приложение, поэтому не будет никакой подстраницы. –

+0

Rsanchez является правильным; '*: // web.whatsapp.com *' является неверным [шаблон соответствия] (https://developer.chrome.com/extensions/match_patterns), '*: // web.whatsapp.com/*' является правильный - необходимо наличие косой черты ** **, путь '*' не является обязательным. Голосование закрывается как опечатка. – Xan

ответ

0

Возможно, вы указали свой javascript-файл вашего скрипта контента, отличный от того, который вы указали в файле манифеста.

В файле манифеста вы написали:

{ 
    "content_scripts": [ 
     { 
     "matches": ["*://web.whatsapp.com*"], 
     "js": ["content_script.js"] 
     } 
    ] 
} 

Заменить подчеркивание дефисом, что делает его контент-script.js

+0

Это не проблема, кстати. Это была опечатка, когда я задавал вопрос. –

 Смежные вопросы

  • Нет связанных вопросов^_^