1

Я совершенно новичок в создании расширений FF, и я буду довольно конкретным.Внедрить одну строку JavaScript из firefox addon

Когда я запускаю команду JS, например, в встроенной песочнице Firefox, она работает нормально, поэтому я хотел бы создать FF-аддон, на котором будет нажата одна и та же команда JS. Команда в основном работает на веб-странице:

JavaScript: $('.plus').click();

Я полагаю, что не должен работать так:

var Widget = require("widget").Widget; 
var tabs = require('tabs'); 

exports.main = function() { 

new Widget({ 
    id: "user-widget-1", 
    label: "My Mozilla Widget", 
    contentURL: "http://www.mozilla.org/favicon.ico", 
    onClick: function(event) {   
     javascript:$('.plus').click(); 
    } 
}); 

};

Спасибо.

ответ

0

$(.plus) является синтаксисом jQuery, поэтому вы, вероятно, захотите загрузить jQuery в качестве скрипта контента в свой виджет. И вы хотите, чтобы запустить свой код в качестве скрипта содержимого, а также, например:

var data = require("sdk/self").data; 

new Widget({ 
    id: "user-widget-1", 
    label: "My Mozilla Widget", 
    contentURL: "http://example.com/foo.html", 
    contentScriptFile: [data.url("jquery.js"), data.url("myScript.js")] 
}); 

И data/myScript.js будет что-то вроде:

$(document).ready(function() { 
    $('.plus').click() 
}); 

Если вы не хотите, щелчок произойдет, когда документ но скорее на конкретном событии, происходящем в вашем расширении, вы можете посмотреть в communicating with content scripts. Я также рекомендую прочитать general overview of content scripts.

+0

Здравствуйте, спасибо, что постарались мне помочь! Но при этом расширение не работает даже при загрузке документа. Мой код выглядит так: http://pastebin.com/raw.php?i=2HzApdti У меня есть jquery.min.js и myScript.js, конечно. – user2367219

0

Используйте Page-Mod, чтобы вводить сценарии содержания в веб-страницу, контент-скрипт, связанный в виджетах, работает только в содержании виджета. Кроме того, API-интерфейс виджета устарел от FF 29, я предлагаю вам вместо этого использовать Action button.

Смежные вопросы