拦截来自firefox插件的窗口和屏幕属性的调用

时间:2014-05-13 13:58:57

标签: javascript window firefox-addon screen firefox-addon-sdk

我试图拦截一个站点调用窗口和来自firefox插件的屏幕对象,它们的宽度和高度属性并返回我自己的值。

我一直在尝试使用观察者

const os = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);

os.addObserver({

    observe : function(subject, topic, data) {
        if (subject instanceof Ci.nsIDOMWindow && topic == 'content-document-global-created') {
            subject.wrappedJSObject.myfunction = function(){
                // Do stuff
            }
        }
    }
}, 'content-document-global-created', false);

这允许我覆盖普通的javascript方法,但我似乎无法改变屏幕或窗口属性。 pagemod是否能够使用内容脚本对其进行修改,以便网站读取插件中指定的值?

1 个答案:

答案 0 :(得分:0)

你会这样做:

subject.wrappedJSObject.screen.__defineGetter__("width", function() { return myWidth });

我不确定willma指出的时间,但这就是代码的样子。