Firefox插件SDK - getElementsByTagName

时间:2014-09-03 16:11:08

标签: javascript firefox-addon-sdk

我的Firefox插件有些问题。 我创建了一个上下文菜单,工作正常。但是这个函数不会返回元标记的内容。

var tabs = require("sdk/tabs");
var contextMenu = require("sdk/context-menu");
[..]
      onMessage: function () {
        pageWorker = require("sdk/page-worker").Page({
             contentScript: "self.postMessage(document.head.getElementsByTagName('meta'));",
             contentURL: tabs.activeTab.url,
             onMessage: function(metaTags){
                var text= "";
                console.log(metaTags.length);
                for(var i = 0; i < metaTags.length; i++){
                    if(metaTags[i].getAttribute("property") == "description"){
                        text = metaTags[i].getAttribute("content");
                        break;
                    }
                }
                console.log(text);
             }
        });
    }

console.log(metaTags.length)返回undefined。这是一个Firefox-SDK问题。因为Skript在jsfiddle或greasemonkey中工作正常。

1 个答案:

答案 0 :(得分:1)

用于附加组件的Firefox附加组件SDK defaults to an "error" log level,可防止console.log语句出现在浏览器控制台中。要解决此问题,请设置extensions.sdk.console.logLevel(更改所有 SDK加载项的日志记录行为)或extensions.extensionID.sdk.console.logLevel(其中extensionID是您的加载项&#39; s {{ 3}})到#34;所有&#34;或&#34;调试&#34;。