«В настоящее время NaCl включен по умолчанию только для приложений / расширений из интернет-магазина Chrome или распакованных расширений для целей разработки».- Интернет
Пока что я не могу использовать NaCl из распакованного расширения.(Я не пробовал Интернет-магазин.)
У меня действительно простое тестовое расширение, в фоновом режиме которого содержится следующее:
function clicked() {
var testNaclElement = document.createElement("embed");
testNaclElement.setAttribute("type","application/x-nacl");
testNaclElement.setAttribute("width",0);
testNaclElement.setAttribute("height",0);
document.body.appendChild(testNaclElement);
alert(testNaclElement.postMessage?true:false);
document.body.removeChild(testNaclElement);
}
chrome.browserAction.onClicked.addListener(updateIcon);
updateIcon();
Это расширение сообщает значение true, когда NaClвключен в chrome: // flags, но когда NaCl отключен в chrome: // flags (по умолчанию), он сообщает об ошибке.
Я ожидал, что он сообщит об истине.
Что такоеЯ пропал?
Обновление:
Кажется, что изобретать мой собственный код обнаружения в конце концов не очень хорошая идея.Если я создаю и устанавливаю распакованное веб-приложение Chrome, которое указывает на URL X, тогда NaCl будет работать на этой странице, но этот код обнаружения будет по-прежнему сообщать о ложном значении, тогда как тот же самый код сообщает об истине, когда на обычной веб-странице с включенным NaCl в Chrome://flags.
НО, если создать расширение (не веб-приложение Chrome), которое использует NaCl в iFrame, который указывает на URL X, то NaCl не будет работать в нем.
НО, если ясоздайте веб-приложение, которое указывает на URL-адрес X и расширение, которое использует URL-адрес X в iFrame, тогда оба будут работать, если они установлены одновременно.
Update2: Если я на самом деле включаю NMFи nexe в расширении, тогда оно работает.
Update3: nexe не нужно включать в расширение.