我的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中工作正常。
答案 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;。