【问题标题】:mozilla firefox extension: creating a javascript library and using it in a HTML pagemozilla firefox 扩展:创建一个 javascript 库并在 HTML 页面中使用它
【发布时间】:2014-12-09 07:22:57
【问题描述】:

我在 Firefox 扩展中创建了一个库:

./components/main.js
./skin/icon.png
./install.rdf
./chrome.manifest

我的 ma​​in.js 将使用定义一个调用 mozilla TCPScket (https://developer.mozilla.org/en-US/docs/Web/API/TCPSocket) 的类

function MYLib() {}    
MYLib.prototype.doWork = function(arg1,arg2) { /* do something with TCPScoket */}

我应该如何在 HTML 的客户端使用我的库?

我正在寻找类似 (?):

<html><head><script>
var mylib = MozillaApiThing.createNewInstance("chrome://myextension/", "MYLib");
 ....
 </script>(...)

【问题讨论】:

  • 你可以尝试在谷歌上搜索:“firefox extension github”,因为 Github 是开源的,你可能会发现一些有用的东西
  • 我试过了:我在 github/MDN 上找不到任何具体的东西。此外,MDN 上的大部分内容似乎已经过时了。

标签: javascript firefox firefox-addon


【解决方案1】:

chromeresource(非重启) URL 可作为直接 URL(即您可以将它们输入到地址栏并显示)。因此,您可以将其用作简单的脚本 src

<script src="chrome://myextension/components/jsfile.js"></script>

或者,您可以读取 JS 文件(即使用 XMLHttpRequest 或 FileUtils.jsm 或 osfile.jsm),然后使用 createElement('script')textContentappendChild() 将内容插入到页面中

或者,你可以试试The message manager

注意:将本地脚本插入页面将具有内容页面范围(无法访问浏览器范围API)

【讨论】:

  • 尚未测试,但无需征求用户许可即可使用 Mozilla API(如 TCPScoket )?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-22
  • 1970-01-01
  • 1970-01-01
  • 2016-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多