Страницы: 1
Всем спасибо! Проблема решена. Помогла статья MDN
Вот моя реализация
В файле инъекции:
var additionalInfo = { "cmd": 'account_list', "url": document.location.href }; var request = document.createTextNode(JSON.stringify(additionalInfo)); request.addEventListener("something-response", function(event) { console.log('... something-response'); var info=JSON.parse(event.target.nodeValue); $('body').css('background-color', info.color); }, false); document.head.appendChild(request); var event = document.createEvent("HTMLEvents"); event.initEvent("something-query", true, false); request.dispatchEvent(event);
В js файле для XUL:
[code]window.addEventListener(
'load', function(event) {
document.addEventListener("somethi
Имеется расширение для Firefox, которое делает инъекцию кода JS в страницы.
Код для XUL:
window.addEventListener("load", function load(event){ document.addEventListener("TestEvnt", function (e) { var info = e.detail; if(info.cmd=='account_list') { consoleLog('... event account_list'); } }, false, true); document.addEventListener("DOMContentLoaded", function (e) { var window = e.originalTarget.defaultView.wrappedJSObject; var inject = window.document.createElement('script'); inject.type = 'text/javascript'; inject.setAttribute('src','resource://apptab-notify/injscr.js'); window.document.getElementsByTagName('head')[0].appendChild(inject); }, false); },false);
Код injscr.js:
var additionalInfo = { "cmd": 'account_list', "url": document.location.href }; var evt = document.createEvent('CustomEvent'); evt.initCustomEvent('TestEvnt', true, false, additionalInfo); document.dispatchEvent(evt);
Как обеспечить двунаправлен
…С выходом новой версии [firefox] Firefox 16, мое расширение стало выдавать ошибку: "Permission denied to access property 'myVarExt'".
browser.xul
[code]<?xml version="1.0"?>
<!DOCTYPE overlay SYSTEM "chrome://mynewext/locale/overlay.dtd">
<overlay id="mynewext-overlay"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:html="http://www.w3.org/1999/xhtml">
<script type="application/x-javascript;version=1.7" src="base.js"/>
<hbox id="browser">
<splitter insertafter="sidebar-splitter"
state="open"
resizebefore="closest"
resizeafter="closest"
id="mynewext-splitter"
hidden="true"/>
<vbox id="mynewext-sidebar"
insertafter="sidebar-splitter"
width="308"
minwidth="308"
maxwidth="308"
collapsed="true">
<tabbox flex="1">
<tabpanels id="mynewext-panels" flex="1">
Доброго времени суток!
Возможно уже этот вопрос возникал, но все-таки задам:
Пишу в первые расширение для FF, и столкнулся с проблемой - синхронного взаимодействия Popup и Background, как это правильно организовать? А также, как вызвать из Popup функции прописанные в Background?
Страницы: 1