首页 文章

无法部署扩展(firefox)

提问于
浏览
2

当我尝试创建Firefox扩展时,我正在密切关注教程here . 我的扩展名有以下树:

backtosearch
  +-chrome
    +-content
      backtosearch.xul
  +-chrome.manifest
  +-install.rdf

我为FF创建了一个名为“扩展测试”的测试配置文件,并在配置文件扩展文件夹“backtosearch@my.name”中添加了一个文件,其中包含扩展文件夹的绝对路径 . 我使用扩展开发扩展重新加载了浏览器chrome并重新启动了浏览器 - 但我看不到新的按钮 .

我简化了教程(因为我只需要一个按钮),而我的.xul只包含它 . 我的chrome.manifest文件包含:

content backtosearch chrome/content/
overlay chrome://browser/content/browser.xul chrome://backtosearch/content/backtosearch.xul

扩展名未显示在视图下 - >工具栏或工具 - >插件

谢谢你的帮助

install.rdf

<?xml version="1.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">

        <!-- Required Items -->
        <em:id>backtosearch@dylan.lloyd</em:id>
        <em:name>Back To Search</em:name>
        <em:version>1.0</em:version>

        <em:targetApplication>
            <Description>
                <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
                <em:minVersion>1.5</em:minVersion>
                <em:maxVersion>3.5.*</em:maxVersion>
            </Description>
        </em:targetApplication>

        <!-- Optional Items -->
        <em:creator>Dylan Lloyd</em:creator>
        <em:description>Adds options to return to your last search immediately.</em:description>
        <em:homepageURL>http://www.getyourkeywords.com/</em:homepageURL>

    </Description>
</RDF>

backtosearch@dylan.lloyd

C:\Users\Dylan\Desktop\backtosearch\

3 回答

  • 1

    嘿,我在moziila自己的文档中发现了这个问候世界的错误 .

    你可以继续阅读:https://github.com/oschrenk/firefox-extension

    I had written
    
    <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">
    
    as the root element, but it needs to be all lowercase
    
    <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">
    

    只需更新install.rdf =)

  • 0

    根据您的描述,目前尚不清楚问题是什么 . 最可能的原因,正如sdwilsh所指出的那样,扩展没有注册 . 如果是这种情况,扩展名将不会出现在工具 - >插件中 .

    您可以尝试将extensions.logging.enable pref设置为true以帮助调试 . 也许先尝试安装helloworld extension

    可能的原因:

    • 您没有为"link"文件使用正确的名称(必须与扩展ID匹配) .

    • "link"文件内容无效(路径格式为OS-native) . 在您的情况下,路径应以"backtosearch"结尾

    • install.rdf不正确 . 您可以通过在Firefox中打开它来检查它至少是有效的XML(可能首先重命名为.xml) - 如果黄色屏幕打开,则其无效 .

    • 安装在错误的配置文件中或者没有真正重启Firefox .

    如果扩展名已注册,请尝试在Firefox中打开 chrome://backtosearch/content/backtosearch.xul (通过将其复制到位置栏) - 如果出现任何错误,则应修复它们 . 如果文件成功加载(可能为空),则会有's a problem with your overlay'的内容,如果没有看到它就很难调试 . 也许从已知有效的叠加开始?

  • 2

    尝试通过Mozilla's Add-On Validation page运行它 . 它可能只是告诉你错误是什么 . 如果是javascript错误,它会告诉你肯定的 .

    现在,我有同样的问题 - 当我加载我的插件时,我的工具栏没有出现,即使插件显示在“工具>插件”中,当我点击“选项”按钮时,一切都冻结了 .

    原来,有几个错误 .

    • 我的install.rdf中的optionsurl有"cchrome"而不是"chrome" .

    • 在我的主.js文件中,我在一行的末尾忘记了";"并进行了var赋值 .

    • 在我的xul文件中,我没有在两个属性赋值之间留出空格: label="string"tooltip="string" .

    • 我挂了一个 </toolbarbutton> ,我将一行复制到下一行 . 这就是 really 引起的问题 . 在代码文件中,行很长,我从未见过那部分!

    虽然它在Mozilla验证器中通过了很好,但这种组合完全失败了 . 在我看来,验证者应该 grab 了cchrome的事情 . 它会 grab javascript错误 .

    无论如何,我告诉你,如果这可能是你的问题 .

相关问题