Я совершенно новый для Firefox и его расширений. Есть ли что-то вроде скрипта, использующего JavaScript, который запускается каждый раз при загрузке страницы? Мое расширение chrome вставляет файл css, создающий тег ссылки с помощью js. Как перенести это в Firefox?Эквивалент сценарию контента в расширении Firefox?
5
A
ответ
7
Вам нужен API pageMod.
var pageMod = require("page-mod");
pageMod.PageMod({
include: "*.example.org",
contentScript: 'window.alert("Page matches ruleset");'
});
0
Вы можете использовать mozIJSSubScriptLoader для выполнения JavaScript (хром: //myExtension/content/script.js) каждый раз webpage loads. Вот пример кода, который вам нужно изменить в соответствии с вашим хромовым каталогом
window.addEventListener("load", function load(event){
window.removeEventListener("load", load, false); //remove listener, no longer needed
myExtension.init();
},false);
var myExtension = {
init: function() {
var appcontent = document.getElementById("appcontent"); // browser
if(appcontent){
appcontent.addEventListener("DOMContentLoaded", myExtension.onPageLoad, true);
}
var messagepane = document.getElementById("messagepane"); // mail
if(messagepane){
messagepane.addEventListener("load", function(event) { myExtension.onPageLoad(event); }, true);
}
},
onPageLoad: function(aEvent) {
var doc = aEvent.originalTarget; // doc is document that triggered "onload" event
// do something with the loaded page.
// doc.location is a Location object (see below for a link).
// You can use it to make your code executed on certain pages only.
var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"].getService(Components.interfaces.mozIJSSubScriptLoader);
loader.loadSubScript("chrome://myExtension/content/script.js", doc);
// add event listener for page unload
aEvent.originalTarget.defaultView.addEventListener("unload", function(event){ myExtension.onPageUnload(event); }, true);
},
onPageUnload: function(aEvent) {
// do something
}
};
0
Раньше я использовал Greasemonkey в Firefox. На самом деле, Chrome Extensions начался как подражание Greasemonkey и стал источником сценариев контента.
Смежные вопросы
- 1. LocalStorage в расширении Firefox
- 2. Флажок в расширении firefox
- 3. юникода в расширении FireFox
- 4. localStorage в расширении Firefox
- 5. Политика безопасности контента в расширении Mozilla
- 6. Информация о расширении Firefox.
- 7. альтернатива панели в расширении firefox
- 8. Использование Components.utils.import в расширении firefox
- 9. Положение коробки в расширении FireFox
- 10. Двунаправленное шкало в расширении Firefox
- 11. Временное хранение в расширении FireFox
- 12. Воспроизведение звуков в расширении FireFox
- 13. Ошибка SQLite3 в расширении Firefox
- 14. Объект Literal в расширении Firefox
- 15. Flash-объект в расширении FireFox
- 16. Использование indexedDB в расширении Firefox
- 17. Ошибка JQuery в расширении Firefox
- 18. Заголовок сообщения в расширении firefox
- 19. «event» эквивалент в firefox
- 20. CSSMatrix эквивалент в Firefox?
- 21. Space поверх контента в Firefox
- 22. Обновление содержимого панели в расширении Firefox
- 23. Поиск IP-адреса в расширении Firefox
- 24. Перекрестная связь страниц в расширении firefox
- 25. Выберите окно файла в расширении firefox
- 26. Избегайте панели autoHide в расширении Firefox
- 27. Лучший способ реализовать GCM в расширении Firefox?
- 28. Firefox 22 Мониторинг HTTP-трафика в расширении
- 29. Событие загрузки iframe в расширении firefox
- 30. Как заменить несколько слов в расширении Firefox
На какой странице я помещаю это? Возможно, файл js включен в browser.xul? –
@JacquesBlom: вы помещаете его в 'lib/main.js' для расширения, созданного с помощью [Add-on SDK] (https://addons.mozilla.org/en-US/developers/builder). –
, когда я это делаю: включить: «facebook.com» - он не будет работать –