我想在firefox中获取所选标签的当前网址,我有一个针对contentURL的Firefox SDK面板,我一直在使用Javascript来尝试获取当前网址;
window.content.location.href
但遗憾的是,除非我在contentURL页面上显示任何其他页面并且它什么也没显示,否则它不起作用。
谢谢!
答案 0 :(得分:1)
在JavaScript中:
window.location.href
在php中:
$_SERVER["REQUEST_URI"]
答案 1 :(得分:1)
您可以像这样获取网址
var url = require('sdk/tabs').activeTab.url;
这仅适用于附加代码,而不适用于内容脚本。差异见this guide。
如果要从内容脚本触发查找和/或想要在内容脚本中使用URL,则必须communicate using "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>