0

新しいタブでメッセージを開きたい拡張機能を書いています(デフォルトのタブではなく、このチュートリアルのようにHTMLで書かれたタブでhttp://xulforum.org/fosdem2012/presentation/template.html

私の問題は、新しく開いたタブに引数を渡したいということですが、インターネットで引数を渡すことについて何も見つけることができませんでした。

誰か助けてくれませんか?

4

1 に答える 1

0

開いているタブの URL に引数を渡す必要があります。これが最も簡単な方法です。

openTab("chromeTab", { chromePage: "chrome://yourext/content/foo.html?foo=bar" });

現在の URI のパラメーターを JavaScript 辞書に簡単にマップするために使用できるルーチンを次に示します。

/**
 * Takes the <b>entire</b> query string and returns an object whose keys are the
 * parameter names and values are corresponding values.
 * @param aStr The entire query string
 * @return An object that holds the decoded data
 */
function decodeUrlParameters(aStr) {
  let params = {};
  let i = aStr.indexOf("?");
  if (i >= 0) {
    let query = aStr.substring(i+1, aStr.length);
    let keyVals = query.split("&");
    for each (let [, keyVal] in Iterator(keyVals)) {
      let [key, val] = keyVal.split("=");
      val = decodeURIComponent(val);
      params[key] = val;
    }
  }
  return params;
}

(警告: これは mozilla 固有の JavaScript です)

于 2013-01-16T14:27:24.047 に答える