7

私は Firefox 拡張機能に取り組んでおり、コンテンツ スクリプトから JavaScript をページに挿入する必要があります。私のChrome拡張機能では、次のことを行いました。

this.initializeJplayerSupport = function() {
  var script = document.createElement('script');
  script.setAttribute('type', 'application/javascript');
  script.setAttribute('src', chrome.extension.getURL('js/custom-jplayer.js'));
  document.head.appendChild(script);
}

ファイルは私のデータディレクトリにあります。chrome.extension.getURL()Firefox 拡張コンテンツ スクリプト ( Chromeで使用した場所) で js ファイルを参照するにはどうすればよいですか?

4

2 に答える 2

10

SDK ベースのアドオンで main.js を使用している場合は、「self」オブジェクトの「data」ヘルパーを必要として使用します。

var data = require('self').data;

console.log(data.url('somefile.js')); // prints the resource uri to the file.

詳細については:

https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/self#data

このリソース URI を取得したら、self.postMessage または self.port.emit を使用してコンテンツ スクリプトに提供できます。

https://developer.mozilla.org/en-US/Add-ons/SDK/Guides/Content_Scripts

于 2012-07-19T07:26:09.377 に答える
2

Firefox 38 以降、cfxに置き換えられたようjpmです。

これが、この行が機能しなかった理由かもしれません:

var data = require('self').data;

私は単にそれを少し書き直さなければなりませんでした:

var data = require('sdk/self').data;
于 2015-07-13T14:05:39.080 に答える