Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.02.2016, 20:09
Кандидат Javascript-наук
Отправить личное сообщение для BorisBritva Посмотреть профиль Найти все сообщения от BorisBritva
 
Регистрация: 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.

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 14.02.2016, 21:35
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

BorisBritva,
В эту функцию не надо передавать параметров. Параметр в заголовке не используется, а в теле функции используется глобальная переменная
Ответить с цитированием
  #3 (permalink)  
Старый 15.02.2016, 17:23
Кандидат Javascript-наук
Отправить личное сообщение для BorisBritva Посмотреть профиль Найти все сообщения от BorisBritva
 
Регистрация: 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.
Ответить с цитированием
  #4 (permalink)  
Старый 15.02.2016, 17:59
Кандидат Javascript-наук
Отправить личное сообщение для BorisBritva Посмотреть профиль Найти все сообщения от BorisBritva
 
Регистрация: 17.03.2010
Сообщений: 145

Сообщение от Dilettante_Pro Посмотреть сообщение
BorisBritva,
В эту функцию не надо передавать параметров. Параметр в заголовке не используется, а в теле функции используется глобальная переменная
Когда вызываю из my-script.js - text_entry.show();

выводит - _errorType = ReferenceError
- message = text_entry is not defined
Ответить с цитированием
  #5 (permalink)  
Старый 15.02.2016, 18:31
Новичок на форуме
Отправить личное сообщение для maximplan Посмотреть профиль Найти все сообщения от maximplan
 
Регистрация: 13.02.2016
Сообщений: 3

BorisBritva,
ИЗВИНЯЮСЬ за наглость так как ответ не по теме((((((

помогите поймать кнопу
Ответить с цитированием
  #6 (permalink)  
Старый 15.02.2016, 18:43
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

BorisBritva,
Что-то я не пойму, где у вас находится объявление text_entry.
В main.js или где-то еще?
Ответить с цитированием
  #7 (permalink)  
Старый 15.02.2016, 18:49
Кандидат Javascript-наук
Отправить личное сообщение для BorisBritva Посмотреть профиль Найти все сообщения от BorisBritva
 
Регистрация: 17.03.2010
Сообщений: 145

Сообщение от Dilettante_Pro Посмотреть сообщение
BorisBritva,
Что-то я не пойму, где у вас находится объявление text_entry.
В main.js или где-то еще?
Так вроди бы в верхнем посте написано что есть файл main.js)))

Да в main.js ))
Ответить с цитированием
  #8 (permalink)  
Старый 15.02.2016, 18:58
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 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]
  }
});

Которое из них вам нужно?
Ответить с цитированием
  #9 (permalink)  
Старый 15.02.2016, 19:02
Кандидат Javascript-наук
Отправить личное сообщение для BorisBritva Посмотреть профиль Найти все сообщения от BorisBritva
 
Регистрация: 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: надо установить значения атрибутов ссылки, которую юзер нажал на странице.
Ответить с цитированием
  #10 (permalink)  
Старый 15.02.2016, 19:07
Кандидат Javascript-наук
Отправить личное сообщение для BorisBritva Посмотреть профиль Найти все сообщения от BorisBritva
 
Регистрация: 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.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите в замыкании универсальной функции для обработчиков событий addEventListener iis_ Events/DOM/Window 6 30.01.2014 01:09
Помогите реализовать отображение для аддона к mozilla. Ingiborn Firefox/Mozilla 3 28.01.2014 19:23
Аддон для Firefox как парсить конкретную страницу ? Torero Firefox/Mozilla 16 26.09.2013 21:02
помогите с скриптом для кнопки Павел Прокопенко Общие вопросы Javascript 4 01.04.2012 14:15
Помогите, пжлста, найти (или написать) скрипт для смены картинок. Artweb Работа 9 25.02.2011 11:28