Для начала я пытался разрешить связь между сценарием страницы и сценарием содержимого. Если документы точны, это должно быть легко. Вот что я делаю, я считаю, полностью в соответствии с https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/guides/content-scripts/взаимодействие-с-другими-скриптами.html#Использование%20the%20DOM%20postMessage%20API :
А вот мой живой тестовый пример:
основной.js:
exports.main = function() {
var data = require('sdk/self').data,
pageMod = require('sdk/page-mod');
pageMod.PageMod({
include: '*',
contentScriptFile: data.url('postMessageRelay.js'),
});
};
postMessageRelay.js
// Trying with window.addEventListener also doesn't work
document.defaultView.addEventListener('message', function (e) { // e.data, e.origin
console.log('would be good if it got here:'+e.data);
});
console.log('it gets here at least');
А JavaScript в обычном файле HTML (на обычном удаленном сервере, а не в файле или локальный хост):
try {
window.postMessage('webappfind', window.location.href);
}
catch(e) {
alert(e);
}
Это действительно похоже либо на полномасштабную ошибку для этой функциональности, либо на проблему с документами... У меня были похожие проблемы при попытке связи через настраиваемые события, поэтому маленькие бананы...
*
на brett-zamir.me/tests/webappfind2.html, хотя это работает, когда используется из window.open, а иногда и когда используется из iframe в родительский - person Brett Zamir   schedule 27.08.2013