Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 开发Firefox扩展最简单的方法是什么?_Javascript_Google Chrome_Firefox_Firefox Addon_Firefox Addon Sdk - Fatal编程技术网

Javascript 开发Firefox扩展最简单的方法是什么?

Javascript 开发Firefox扩展最简单的方法是什么?,javascript,google-chrome,firefox,firefox-addon,firefox-addon-sdk,Javascript,Google Chrome,Firefox,Firefox Addon,Firefox Addon Sdk,我计划开发一个简单的Firefox扩展,它将缩短当前活动选项卡的URL,显示一个带有缩短URL的弹出窗口,并将其放入剪贴板 在GoogleChrome中,这将非常简单(根据)——纯JavaScript加上对JavaScript API-s的一些调用,以与浏览器的UI交互 然而,在搜索了一个很好的Firefox扩展教程之后,我发现最官方的链接是: 根据他们的说法,看起来我必须学习XUL语言,以便与浏览器的UI进行最简单的交互。最重要的是,我必须设置定制的Firefox配置文件,以避免在开

我计划开发一个简单的Firefox扩展,它将缩短当前活动选项卡的URL,显示一个带有缩短URL的弹出窗口,并将其放入剪贴板

在GoogleChrome中,这将非常简单(根据)——纯JavaScript加上对JavaScript API-s的一些调用,以与浏览器的UI交互

然而,在搜索了一个很好的Firefox扩展教程之后,我发现最官方的链接是:

根据他们的说法,看起来我必须学习XUL语言,以便与浏览器的UI进行最简单的交互。最重要的是,我必须设置定制的Firefox配置文件,以避免在开发过程中使用默认配置文件,创建复杂的目录结构,用模糊的XML编写清单,弄清楚如何打包和测试我实现的任何东西,等等

现在是2013年,难道没有更简单的方法来构建Firefox扩展吗

现在是2013年,难道没有更简单的方法来构建Firefox扩展吗

是的,有

你在问题中提供的链接令人难以置信地过时了。有一种新的、更好的开发Firefox扩展的方法--Firefox附加SDK

然而,仅仅通过谷歌搜索“firefox插件教程”就很难找到它。我很惊讶Mozilla没有更积极地宣传它,或者至少在你找到的页面上提到它

入门步骤(Mac/Linux,但应与PC非常相似):

  • 从下载SDK,并将其解压缩
  • 快速浏览自述文件(总是有用的)
  • 从SDK目录执行
    source bin/activate
    (自述文件所在的目录)
  • 执行
    cfx docs
    ——此引导将本地副本导入并在浏览器中打开
  • 保留SDK目录,为扩展创建一个空目录
  • 在extensions目录中执行
    cfx init
    ——这将生成所有必要的文件/目录
  • 请按照第页的其余部分进行操作:
    • 只需几行js即可更新
      lib/main.js
      ,将自定义小部件放置到加载项栏上
    • 执行
      cfx run
      ——这将打开新的Firefox实例,其中包含新的闪亮扩展
总而言之,我花了几个小时阅读文档,熟悉SDK API-s,找到SDK将小部件放在导航栏而不是附加栏上,并用大约50行JavaScript开发全功能扩展

更新 有一个新的标准,叫做

目前有几种开发Firefox插件的工具集,但WebExtensions将在2017年底成为标准

如果您正在编写一个新的附加组件,我们建议您编写一个WebExtension


是的,有三种不同的技术可用于构建扩展:

  • 你可以读两种语言的比较

    如果可以,建议使用附加SDK,它使用 无重启扩展机制,但简化了某些任务和 自己清理。如果加载项SDK不足以满足您的 如果需要,请改为实现手动无重启扩展

    开始使用基于SDK的附加扩展的步骤


  • 我做了一个关于使用Firefox插件SDK开发扩展的教程:

    开发附加组件有多种方法,每种方法都有优点和缺点:

    WebExtensions是Firefox插件的未来。如果您可以使用WebExtensionsAPI,那么它是最佳选择。您现在可以开发和发布WebExtensions,但它们仍处于早期状态

    插件SDK提供了用于开发Firefox插件的API,以及用于开发、测试和打包这些插件的工具。

    到目前为止,唯一的方法是使用。Firefox 52将接受最后的SDK扩展,而Firefox 57将终止所有其他扩展支持,仅支持WebExtensions

    Firefox复制了Google Chrome的扩展API。因此,您可以使用您的Chrome扩展,看看Firefox是否已经支持所有API(现在应该支持)。 程序员,比如Giorgio Maone

    要开发WebExtension,您需要

    • 可以通过以下方式安装的

      npm install --global web-ext
      
    • 或者简单地使用Firefox的
      about:debug
      或chrome的
      chrome:extensions
      临时加载webextension


    无论哪种方式,您都需要在自己创建的目录中创建一个
    manifest.json
    文件,将所有功能粘在一起。有关第一个示例,请参见。或者位于的Google文档。

    .bashrc
    中创建一个方便的快捷方式,这样您就不必再手动将cd刻录到加载项目录:
    alias addon sdk=“cd/opt/addon sdk&&source bin/activate;cd-”
    。既然您提到了“Chrome扩展”,我想补充一点,我还创建了一个名为module的模块,使移植使用Chrome API的扩展变得非常容易。当我在新文件夹中启动
    bash cfx init
    时,我得到以下错误:
    /opt/addon-sdk-1.16/bin/cfx:line 12:意外标记附近的语法错误'(“/opt/addon-sdk-1.16/bin/cfx:line 12:‘cuddlefish_root=os.path.dirname(os.path.dirname(os.path.realpath(sys.argv[0]))”
    您必须通过phyton启动cfx,因此我创建了
    别名cfx=“python/opt/addon-sdk-1.16/bin/cfx”
    带有此链接的内容已被删除=(@ArslArsl:您应该通过
    npm
    安装该工具。但是SDK不能再用于开发新的扩展。请参阅中安装Python时,Windows中的
    bin\activate
    部分已损坏