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

你可以得到这样的网址

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 回答