Javascript Firefox扩展未运行内容脚本

Javascript Firefox扩展未运行内容脚本,javascript,firefox,firefox-addon,Javascript,Firefox,Firefox Addon,我是Firefox扩展开发新手,正在尝试从Chrome移植扩展。到目前为止,我有以下文件: $ tree . ├── chrome.manifest ├── content │   └── content.js └── install.rdf chrome.mainfest: install.rdf: alert调用用于调试(我不确定哪个控制台console.loglogs用于扩展)。但即使在重新启动浏览器后,也不会显示这两个选项。扩展将显示在附加组件管理器中。我做错了什么?看起来您正在尝试使

我是Firefox扩展开发新手,正在尝试从Chrome移植扩展。到目前为止,我有以下文件:

$ tree
.
├── chrome.manifest
├── content
│   └── content.js
└── install.rdf
chrome.mainfest: install.rdf:
alert
调用用于调试(我不确定哪个控制台
console.log
logs用于扩展)。但即使在重新启动浏览器后,也不会显示这两个选项。扩展将显示在附加组件管理器中。我做错了什么?

看起来您正在尝试使用SDK模块而不使用附加组件SDK,否则该树将看起来完全不同。查看附加SDK文档和入门部分:

谢谢。我一直在跟踪,这似乎是从FF 1.5天开始的。
content tabstacker  content/
<?xml version="1.0" encoding="utf-8"?><!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
  <Description about="urn:mozilla:install-manifest">
    <em:id>me@gmail.com</em:id>
    <em:version>0.1</em:version>
    <em:type>2</em:type>
    <em:bootstrap>true</em:bootstrap>
    <em:unpack>false</em:unpack>

    <!-- Firefox -->
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>29.0</em:minVersion>
        <em:maxVersion>29.*</em:maxVersion>
      </Description>
    </em:targetApplication>

    <!-- Front End MetaData -->
    <em:name>Tab Stacker</em:name>
    <em:description>Moves selected unpinned tabs to the left of the tab bar. Port of the Chrome extension of the same name.</em:description>
    <em:creator>James Wood</em:creator>

    <em:optionsType>2</em:optionsType>

  </Description>
</RDF>
var tabs = require('sdk/tabs');
var timeout = -1;
alert('loaded');

tabs.on('activate', function () {
    window.clearTimeout(timeout);
    alert('activate');
    if (!tabs.activeTab.isPinned)
        timeout = window.setTimeout(function () {
            tabs.activeTab.index = tabs.map(function (t) {
                return t.isPinned;
            }).reduce(function (acc, x) {
                return x ? acc + 1 : acc;
            }, 0);
        }, 1000);
});