2014-01-14 3 views
0

Я только что нашел this отличное сообщение здесь, в stackoverflow, в котором объясняется, как использовать jquery в расширении Firefox, и который также отлично работает для меня. Но я должен сделать немного больше, потому что мне нужно сделать всплывающую подсказку. Для этого я также включил qtip2 библиотеки:firefox extension with jquery и qtip

<script type="application/x-javascript" src="chrome://extension/content/jquery-2.0.3.min.js"></script> 
<script type="application/x-javascript" src="chrome://extension/content/jquery.qtip.min.js"></script> 
<script type="application/x-javascript" src="example.js"></script> 

Моего example.js выглядит, как это сейчас:

(function() { 
jQuery.noConflict(); 
$ = function(selector,context) { 
    return new jQuery.fn.init(selector,context||example.doc); 
}; 
$.fn = $.prototype = jQuery.fn; 

example = new function(){}; 
example.log = function() { 
    Firebug.Console.logFormatted(arguments,null,"log"); 
}; 
example.run = function(doc,aEvent) { 
    // Check for website 
    if (!doc.location.href.match(/^http:\/\/(.*\.)?stackoverflow\.com(\/.*)?$/i)) 
     return; 

    // Check if already loaded 
    if (doc.getElementById("plugin-example")) return; 

    // Setup 
    this.win = aEvent.target.defaultView.wrappedJSObject; 
    this.doc = doc; 

    // Hello World 
    this.main = main = $('<div id="plugin-example">').appendTo(doc.body).html('Example Loaded!'); 
    main.css({ 
     background:'#FFF',color:'#000',position:'absolute',top:0,left:0,padding:8 
    }); 
    main.html(main.html() + ' - jQuery <b>' + $.fn.jquery + '</b>'); 


    //This is the part I added in addition to the post from stackoverflow: 
    $('a').qtip({ // Grab some elements to apply the tooltip to 
     content: { 
      text: 'My common piece of text here' 
     } 
     }); 
}; 

// Bind Plugin 
var delay = function(aEvent) { 
    var doc = aEvent.originalTarget; setTimeout(function() { 
     example.run(doc,aEvent); 
    }, 1); 
}; 
var load = function() { 
    gBrowser.addEventListener("DOMContentLoaded", delay, true); 
}; 
window.addEventListener("pageshow", load, false); 

})(); 

Поэтому в основном я просто добавил к сообщению на StackOverflow это:

$('a').qtip({ // Grab some elements to apply the tooltip to 
     content: { 
      text: 'My common piece of text here' 
     } 
     }); 

Но, к сожалению, ссылки на странице не имеют подсказки на них с этим изменением. Обратите внимание, что функциональность начальной записи в stackoverflow работает для меня (я получаю сообщение «Пример загружено» на stackoverflow.com).

Что я делаю неправильно?

ответ