Вопрос по – Добавление NaCl в расширение Chrome

17

Мой вопрос довольно прост, я попытался создать расширение Chrome, которое вызывает модуль NaCl. Моя кнопка и другие файлы кажутся в порядке, и мой довольно простой код на C ++ возвращает PostMessage hello World. Но, когда я пытаюсь это сделать, это не работает. Есть ли какие-то конкретные вещи, которые я не сделал для включения модуля NaCl в расширение Chrome? Должен сказать, что я немного теряю надежду.

Вот мой & quot; background.html & quot;

<code><body>
  <script src="background.js"></script>
  <div id="listener">
    <embed name="nacl_module"
      id="nacl_correction"
      src="nacl_correction.nmf"
      type="application/x-nacl" />
  </div>
  <script >
   document.getElementById('listener').addEventListener('load', moduleDidLoad, true);
  </script>
</body>
</code>

Вот мой & quot; background.js & quot; :

<code>var NaclCorrectionModule = null;  // Global application object.

function moduleDidLoad() {
    NaclCorrectionModule = document.getElementById('nacl_correction');
    //alert( NaclCorrectionModule);
    if (NaclCorrectionModule == null) {
        alert('Out');    
    }
    else {
        alert (NaclCorrectionModule);       
    }
    NaclCorrectionModule.addEventListener('message', handleMessage, false);
} 
function handleMessage(message_event) {
   alert(message_event.data);
}
chrome.browserAction.onClicked.addListener(moduleDidLoad);
</code>

И, наконец, мой "Manifest.json" :

<code>{
  "name": "Correction de Cordial sous Chrome",
  "version": "1.0",
  "background_page" :"background.html",
  "description": "Intégration d'une extension Cordial pour la correction sous Chrome",
  "permissions": [
     "tabs", "http://*/*"
  ],
  "browser_action": {
  "default_icon": "corriger_big.png",  // Icône de l'extension
  "default_title": "Correction de Cordial"  // Titre affiche sur le bouton        
  }
}
</code>

Если у кого-то есть идеи, я был бы благодарен.

Ваш Ответ

1   ответ
14

После небольшого поиска я обнаружил, что что-то забыл. В моем background.js я не отправлял никаких сообщений в NaCl, поэтому он не может работать.

Мне нужно было только добавить 1 строку:

NaclCorrectionModule.postMessage('');

Спасибо за чтение моего вопроса, и я надеюсь, что это может кому-то помочь !!

Похожие вопросы