Trả lời

7

Bạn muốn có API pageMod.

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

Tôi nên đặt trang này ở trang nào? Một tệp js có trong browser.xul có lẽ? –

+0

@JacquesBlom: Bạn đặt nó vào 'lib/main.js' cho phần mở rộng được xây dựng với [Add-on SDK] (https://addons.mozilla.org/en-US/developers/builder). –

+0

khi tôi thực hiện việc này: bao gồm: "facebook.com" - nó sẽ không hoạt động –

0

Bạn có thể sử dụng mozIJSSubScriptLoader để thực thi JavaScript (chrome: //myExtension/content/script.js) mỗi khi một webpage loads. Dưới đây là mã mẫu mà bạn cần phải sửa đổi theo thư mục chrome của bạn

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

Tôi đã từng sử dụng Greasemonkey trên Firefox. Trên thực tế, Tiện ích mở rộng của Chrome đã bắt đầu như là một phần của Greasemonkey và là nguồn gốc của các tập lệnh nội dung.