14.02.2016, 20:09
|
Кандидат Javascript-наук
|
|
Регистрация: 17.03.2010
Сообщений: 145
|
|
Помогите с расширением для FireFox
Есть такой main.js:
var buttons = require('sdk/ui/button/action');
var tabs = require("sdk/tabs");
var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");
var text_entry = require("sdk/panel").Panel({
contentURL: data.url("popup.html")
});
var button = buttons.ActionButton({
id: "mozilla-link",
label: "Visit Mozilla",
icon: {
"16": "./icon-16.png",
"32": "./icon-32.png",
"64": "./icon-64.png"
},
onClick: handleClick
});
function handleClick(state) {
text_entry.show();
}
exports.main = function() {
pageMod.PageMod({
include: "*",
contentScriptWhen: 'end',
contentScriptFile: [data.url("jquery-1.12.0-min.js") , data.url("my-script.js")]
});
};
Подключаю jquery-1.12.0-min.js и my-script.js
Как мне из my-script.js запустить функцию handleClick и передать в неее параметры. В общем надо управлять этой функцией из my-script.js, либо зделать аналог handleClick в my-script.js.
Спасибо.
|
|
14.02.2016, 21:35
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
BorisBritva,
В эту функцию не надо передавать параметров. Параметр в заголовке не используется, а в теле функции используется глобальная переменная
|
|
15.02.2016, 17:23
|
Кандидат Javascript-наук
|
|
Регистрация: 17.03.2010
Сообщений: 145
|
|
Сообщение от Dilettante_Pro
|
BorisBritva,
В эту функцию не надо передавать параметров. Параметр в заголовке не используется, а в теле функции используется глобальная переменная
|
подскажите пожалуйста примером.
мне нужно со страницы сайта получить значение атрибутов у элемента - a (ссылки)
и передать их в text_entry ( numbers: [1, 2] - contentScriptOptions ) по клику на ссылку юзером на странице.
var text_entry = require("sdk/panel").Panel({
contentURL: data.url("popup.html"),
contentScriptFile: [data.url("jquery-1.12.0-min.js") , data.url("popup.js")],
contentScriptOptions: {
showOptions: true,
numbers: [1, 2]
}
});
и работа со страницей:
exports.main = function() {
pageMod.PageMod({
include: "*",
contentScriptWhen: 'end',
contentScriptFile: [data.url("jquery-1.12.0-min.js") , data.url("my-script.js")]
});
Последний раз редактировалось BorisBritva, 15.02.2016 в 17:30.
|
|
15.02.2016, 17:59
|
Кандидат Javascript-наук
|
|
Регистрация: 17.03.2010
Сообщений: 145
|
|
Сообщение от Dilettante_Pro
|
BorisBritva,
В эту функцию не надо передавать параметров. Параметр в заголовке не используется, а в теле функции используется глобальная переменная
|
Когда вызываю из my-script.js - text_entry.show();
выводит - _errorType = ReferenceError
- message = text_entry is not defined
|
|
15.02.2016, 18:31
|
Новичок на форуме
|
|
Регистрация: 13.02.2016
Сообщений: 3
|
|
BorisBritva,
ИЗВИНЯЮСЬ за наглость так как ответ не по теме((((((
помогите поймать кнопу
|
|
15.02.2016, 18:43
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
BorisBritva,
Что-то я не пойму, где у вас находится объявление text_entry.
В main.js или где-то еще?
|
|
15.02.2016, 18:49
|
Кандидат Javascript-наук
|
|
Регистрация: 17.03.2010
Сообщений: 145
|
|
Сообщение от Dilettante_Pro
|
BorisBritva,
Что-то я не пойму, где у вас находится объявление text_entry.
В main.js или где-то еще?
|
Так вроди бы в верхнем посте написано что есть файл main.js)))
Да в main.js ))
|
|
15.02.2016, 18:58
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
BorisBritva,
Если вы подключаете main.js, то text_entry определится как глобальная переменная (с тем описанием, которое в main.js)
var text_entry = require("sdk/panel").Panel({
contentURL: data.url("popup.html")
});
А где у вас находится это описание?
var text_entry = require("sdk/panel").Panel({
contentURL: data.url("popup.html"),
contentScriptFile: [data.url("jquery-1.12.0-min.js") , data.url("popup.js")],
contentScriptOptions: {
showOptions: true,
numbers: [1, 2]
}
});
Которое из них вам нужно?
|
|
15.02.2016, 19:02
|
Кандидат Javascript-наук
|
|
Регистрация: 17.03.2010
Сообщений: 145
|
|
Цитата:
|
А где у вас находится это описание?
var text_entry = require("sdk/panel").Panel({
contentURL: data.url("popup.html"),
contentScriptFile: [data.url("jquery-1.12.0-min.js") , data.url("popup.js")],
contentScriptOptions: {
showOptions: true,
numbers: [1, 2]
}
});
Которое из них вам нужно?
|
это у меня и есть в main.js
я его уже допилил))
и мне в numbers: надо установить значения атрибутов ссылки, которую юзер нажал на странице.
|
|
15.02.2016, 19:07
|
Кандидат Javascript-наук
|
|
Регистрация: 17.03.2010
Сообщений: 145
|
|
вот весь main.js:
var buttons = require('sdk/ui/button/action');
var tabs = require("sdk/tabs");
var data = require("sdk/self").data;
var pageMod = require("sdk/page-mod");
var text_entry = require("sdk/panel").Panel({
include: "*",
contentURL: data.url("popup.html"),
contentScriptFile: [data.url("jquery-1.12.0-min.js") , data.url("popup.js")],
contentScriptOptions: {
showOptions: true,
numbers: [1, 2]
}
});
var button = buttons.ActionButton({
id: "mozilla-link",
label: "Visit Mozilla",
icon: {
"16": "./icon-16.png",
"32": "./icon-32.png",
"64": "./icon-64.png"
},
onClick: handleClick
});
function handleClick(state) {
text_entry.show();
}
exports.main = function() {
pageMod.PageMod({
include: "*",
contentScriptWhen: 'end', // end start
contentScriptFile: [data.url("jquery-1.12.0-min.js") , data.url("my-script.js")]
});
};
Последний раз редактировалось BorisBritva, 15.02.2016 в 19:16.
|
|
|
|