5

मैं फ़ायरफ़ॉक्स और उसके एक्सटेंशन के लिए काफी नया हूं। क्या जावास्क्रिप्ट का उपयोग करके एक स्क्रिप्ट की तरह कुछ है जो पेज लोड होने पर हर बार चलता है? मेरा क्रोम एक्सटेंशन जेएस का उपयोग कर एक लिंक टैग बनाने वाली एक सीएसएस फ़ाइल इंजेक्ट करता है। मैं इसे फ़ायरफ़ॉक्स में कैसे पोर्ट करूं?फ़ायरफ़ॉक्स एक्सटेंशन में किसी सामग्री स्क्रिप्ट के बराबर?

उत्तर

7

आप pageMod API चाहते हैं।

var pageMod = require("page-mod"); 
pageMod.PageMod({ 
    include: "*.example.org", 
    contentScript: 'window.alert("Page matches ruleset");' 
}); 
+1

मैं इसे किस पेज में रखूं? ब्राउज़र में एक जेएस फ़ाइल शामिल है शायद .xul? –

+0

@JacquesBlom: आप इसे [एड-ऑन एसडीके] (https://addons.mozilla.org/en-US/developers/builder) के साथ बनाए गए एक्सटेंशन के लिए 'lib/main.js' में डाल दें। –

+0

जब मैं ऐसा करता हूं: इसमें शामिल है: "facebook.com" - यह काम नहीं करेगा –

0

आप mozIJSSubScriptLoader का उपयोग जावास्क्रिप्ट निष्पादित करने के लिए कर सकते हैं (क्रोम: //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 का उपयोग करता था। वास्तव में, क्रोम एक्सटेंशन Greasemonkey की नकल के रूप में शुरू हुआ, और सामग्री स्क्रिप्ट की उत्पत्ति थी।

संबंधित मुद्दे