消息:SyntaxError:missing:属性id之后

时间:2014-05-04 13:36:01

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

我正在尝试学习如何为firefox添加简单的内容。我基于this tutorial

这是我的代码:

LIB / main.js

var self = require("sdk/self");

var button = require("sdk/ui/button/action").ActionButton({
  id: "style-tab",
  label: "Style Tab",
  icon: "./icon-16.png",
  onClick: function() {
    require("sdk/tabs").activeTab.attach({
        contentScriptFile: [self.data.url("jquery.js"), self.data.url("edit-page.js")]
    });
  }
});

数据/编辑-page.js

$("body div").css("visibility", "hidden");
$("body").append( $("#addon_hide_page") );

var styles = {
    width: "100%",
    height: "100%",
    backgroud-color: "gray"
}

$("body #addon_hide_page").css(styles);

在此问题的标题中输入错误:"消息:SyntaxError:missing:属性id"之后。正如所见:有一个":"之后" id" (main.js中的第四行)。那么,发生了什么?

BTW:有没有比在Windows CMD中阅读那些无用语句更好的方法来调试firefox插件?

1 个答案:

答案 0 :(得分:7)

data/edit-page.js中你不能拥有一个名为background-color的属性,这个破折号会让它变得混乱。你必须把它放在引号中。所以:

$("body div").css("visibility", "hidden");
$("body").append( $("#addon_hide_page") );

var styles = {
    width: "100%",
    height: "100%",
    "backgroud-color": "gray" ////////////////fix here
}

$("body #addon_hide_page").css(styles);

调试的最佳方法是使用浏览器控制台。 设置开发首选项(安装此插件:DevPrefs),然后按Ctrl+Shift+J并观看错误消息。使用console.log console.info console.warn和console.error将消息记录到Browser Concole中。执行console.log(objectName)并在浏览器控制台中单击该对象,它将显示其中的内容。