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

На IRC-канале #mozilla-ru можно получить техническую консультацию онлайн и, конечно же, порцию общения.

№116-09-2014 21:41:00

fireday2
Участник
 
Группа: Members
Зарегистрирован: 10-09-2014
Сообщений: 35
UA: Chrome 37.0

Вызов функции из main.js из "myplugin\data\SomeScript.js" (cfx)

плагин собираю с помощью cfx
по этому туториалу https://developer.mozilla.org/en-US/Add … stallation , https://developer.mozilla.org/en-US/Add … ng_started

как вызвать функцию в "myplugin\lib\main.js" из скриптов расположенных в "myplugin\data\" ?

В плагинах под chromium была конструкция:
В скрипте бекграудна (с доступом к фичам браузера) была функция приемник:

Выделить код

Код:

chrome.extension.onRequest.addListener(function (request, sender, callback) {
    var action = request.action;
    if (action == 'download_from_vk') {
        chrome.downloads.download({ url: request.url, saveAs: false, filename: request.name });
        returnMessage(request.message);
    }
}

Из локальных (под каждую страницу свой) скриптов обращался к функции так

Выделить код

Код:

chrome.extension.sendRequest({action: 'download_from_vk', url: url, name: name});

Нужен аналогичный код для firefox

Отсутствует

 

№216-09-2014 22:31:19

fireday2
Участник
 
Группа: Members
Зарегистрирован: 10-09-2014
Сообщений: 35
UA: Chrome 37.0

Re: Вызов функции из main.js из "myplugin\data\SomeScript.js" (cfx)

Нашел экспорт функций из скриптов "myplugin\data\" в "myplugin\lib\main.js"

SomeScriptInFolderData.js:

Выделить код

Код:

exports.ExportFunctionName = FunctionName;

main.js:

Выделить код

Код:

SomeScriptInFolderData.ExportFunctionName();

Как провернуть то же самое в обратном направлении?

Отсутствует

 

№320-09-2014 08:32:09

fireday2
Участник
 
Группа: Members
Зарегистрирован: 10-09-2014
Сообщений: 35
UA: Chrome 37.0

Re: Вызов функции из main.js из "myplugin\data\SomeScript.js" (cfx)

Разобрался

Для общения между скриптами, например lib\main.js и data\my-script.js
используется "port"
https://mdn.mozillademos.org/files/6543/content-scripting-events.png
Как это работает - https://developer.mozilla.org/en-US/Add … using_port

Отредактировано fireday2 (24-09-2014 19:40:32)

Отсутствует

 

Board footer

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