0

Firefox で選択したタブの現在の URL を取得しようとしています。contentURL に向けられた Firefox SDK パネルがあり、Javascript を使用して現在の URL を取得しようとしています。

window.content.location.href

しかし残念ながら、私のcontentURLページに他のページがない限り機能せず、何も表示されません。

ありがとう!

4

2 に答える 2

1

JavaScript の場合:

window.location.href

PHPで:

$_SERVER["REQUEST_URI"]
于 2013-04-21T16:23:31.070 に答える
1

このようなURLを取得できます

var url = require('sdk/tabs').activeTab.url;

これはアドオン コード内でのみ機能し、コンテンツ スクリプト内では機能しません。違いについては、このガイドを参照してください。

コンテンツ スクリプトからルックアップをトリガーしたい場合、および/またはコンテンツ スクリプトで URL を使用したい場合は、"port" を使用して通信する必要があります。

ボタンをクリックすると、現在のタブの URL がパネルに表示される例を次に示します。

lib/main.js (アドオン コード):

const data = require('sdk/self').data;

var panel = require('sdk/panel').Panel({
    contentURL: data.url('panel.html'),
    contentScriptFile: data.url('panel.js')
});

panel.port.on('get url', function () {
    panel.port.emit('return url', require('sdk/tabs').activeTab.url);
});

panel.show();

data/panel.js (コンテンツ スクリプト):

var button = document.getElementById('button');
var urlspan = document.getElementById('url');

button.addEventListener('click', function () {
    self.port.emit('get url');
});

self.port.on('return url', function (url) {
    urlspan.textContent = url;
});

データ/panel.html:

<!DOCTYPE html>
<html>
  <head>
        <meta charset="utf-8" />
    <title>panel</title>
  </head>
  <body>
    <button id="button">
      Get Current URL
    </button>
    <br>
    Current URL: <span id="url"></span>
  </body>
</html>
于 2013-04-22T11:23:24.647 に答える