允许内容文档(网页)检测我的Firefox插件

时间:2011-02-23 10:57:18

标签: javascript firefox dom firefox-addon

在我的Firefox插件中,我正在寻找一种安全的方法让内容代码检测插件本身的存在。 理想情况下,我最终希望通过执行以下内容来允许内容代码查询我的插件的存在:

if (window.navigator.my_addon) {
  // the addon is present
} else {
  // the addon is not present
}

有任何建议/指示吗?

1 个答案:

答案 0 :(得分:2)

改编自here(但使用getter将my_addon值设为只读)

// contentWindow is the window object of a contentDocument being displayed
var s = new Components.utils.Sandbox(contentWindow);
s.window = contentWindow;
Components.utils.evalInSandbox("
  window.wrappedJSObject.navigator.__defineGetter__('my_addon', function(){ 
    return true; // or whatever we want its value to be
                 // (note: this is unprivileged code!)
  });", 
  s
);