Firefox で選択したタブの現在の URL を取得しようとしています。contentURL に向けられた Firefox SDK パネルがあり、Javascript を使用して現在の URL を取得しようとしています。
window.content.location.href
しかし残念ながら、私のcontentURLページに他のページがない限り機能せず、何も表示されません。
ありがとう!
Firefox で選択したタブの現在の URL を取得しようとしています。contentURL に向けられた Firefox SDK パネルがあり、Javascript を使用して現在の URL を取得しようとしています。
window.content.location.href
しかし残念ながら、私のcontentURLページに他のページがない限り機能せず、何も表示されません。
ありがとう!
JavaScript の場合:
window.location.href
PHPで:
$_SERVER["REQUEST_URI"]
このような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>