Расширение Firefox для доступа к DOM (с помощью jQuery)

0

Я пытаюсь манипулировать HTML-страницей страницы с помощью моего расширения и jQuery.

В этом простом тесте я пытаюсь сначала загрузить jQuery, а затем заменить все h1 на "Hello", например: $("h1").html("Hello");

См. Этот jsfiddle: http://jsfiddle.net/37vxJ/ (минус часть jQuery :)

var myExtension = {
    init: function() {
        // The event can be DOMContentLoaded, pageshow, pagehide, load or unload.
        if(gBrowser) gBrowser.addEventListener("DOMContentLoaded", this.onPageLoad, false);
    },
    onPageLoad: function(aEvent) {
        var doc = aEvent.originalTarget; // doc is document that triggered the event
        setTimeout(function(){
            //alert("page is loaded \n" +doc.location.href);
            $("h1").html("Hello");
        }, 1000);
    }
}
window.addEventListener("load", function load(event) {
    //remove listener, no longer needed
    window.removeEventListener("load", load, false); 
    myExtension.init();  
},false);

Как я могу сделать эту работу?

Если я раскомментирую: //alert("page is loaded \n" +doc.location.href);

Расширение распечатает URL (через 1 секунду)

  • 0
    DOMContentLoaded запускается до события onload объекта окна. Теперь не уверены, что вы ищете, но проверьте, соответствует ли это вашим потребностям: jsfiddle.net/37vxJ/1
Теги:
firefox-addon

3 ответа

1
Лучший ответ

Вы пытаетесь использовать jQuery в неправильном контексте.

+ Изменить

$("h1").html("Hello");

в

doc.defaultView.wrappedJSObject.$("h1").html("Hello");

1

Используйте firebug. это лучшее для меня.

Вы можете найти его здесь: https://addons.mozilla.org/fr/firefox/addon/firebug/

ОБНОВИТЬ:

Существует мощная услуга, например, есть обратная инженерия для проверки DOM: просто нажмите на синюю стрелку (упоминается на рисунке), введите мышь на свой элемент, и вы получите синхронизацию между графическим интерфейсом и DOM. Изображение 174551

  • 3
    Как это ответ?
  • 0
    Объясните больше пожалуйста. Мы вас не понимаем
0

Современные версии Firefox встроены в консоли, Inspector, Debugger, Profile и Network tracking. Просто нажмите Menu-> Разработчик и выберите нужный инструмент.

В качестве альтернативы используйте Firebug, как рекомендовано в другом ответе.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню