我正在寻找获取Firefox中选定选项卡的当前网址,我有一个针对contentURL的Firefox SDK面板,并且我一直在使用Javascript尝试获取当前网址;获取当前URL
window.content.location.href
不过遗憾的是它不除非IM工作我的contentURL页面上的任何其他网页,它什么也不显示。
谢谢!
我正在寻找获取Firefox中选定选项卡的当前网址,我有一个针对contentURL的Firefox SDK面板,并且我一直在使用Javascript尝试获取当前网址;获取当前URL
window.content.location.href
不过遗憾的是它不除非IM工作我的contentURL页面上的任何其他网页,它什么也不显示。
谢谢!
你可以得到URL这样
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();
数据/ 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>
在JavaScript:
window.location.href
在PHP中:
$_SERVER["REQUEST_URI"]
感谢您的快速回复,我试了两个,他们只返回SDK面板的内容URL – sparkones 2013-04-21 16:27:10
Okey,可能这可以帮助你:http://stackoverflow.com/questions/115 94576/getting-current-browser-url-in-firefox-addon – MrRP 2013-04-21 16:32:43
我已经搜索了所有的stackoverflow和即时通讯仍然无法解决的问题,我唯一幸运的是window.content.location.href和它只适用于我的contentURL页面,一旦我在另一个页面上尝试它,它不会提醒我任何事情。 – sparkones 2013-04-21 21:26:52
单击某个按钮时是否可以将其附加到ContentURL?对不起,我不太了解编写sdk – sparkones 2013-04-23 03:11:20
向ContentURL追加什么?你的意思是什么样的按钮?你的面板里面? – 2013-04-23 14:15:49
是的,我很想在html表单上获得一个按钮“获取当前URL”,那么它会得到选定的标签url并将其附加到url前“www.domain.com/geturl.php?url=CurrentURL” – sparkones 2013-04-23 23:21:43