Полезная информация

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

Разработка » Как создать двусторонний обмен данными: расширения с кодом инъекции? » 15-11-2012 15:27:31

Всем спасибо! Проблема решена. Помогла статья 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

Разработка » Как создать двусторонний обмен данными: расширения с кодом инъекции? » 14-11-2012 12:44:35

Имеется расширение для 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);

Как обеспечить двунаправлен

Разработка » Я не могу получить доступ к переменным моего расширения из iframe » 15-10-2012 13:20:44

С выходом новой версии [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">
 

Разработка » Popup и background синхронно » 12-02-2012 22:32:32

Доброго времени суток!
Возможно уже этот вопрос возникал, но все-таки задам:

Пишу в первые расширение для FF, и столкнулся с проблемой - синхронного взаимодействия Popup и Background, как это правильно организовать? А также, как вызвать из Popup функции прописанные в Background?

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]