在做了一些研究之后,我提出的代码是:
var outUrl;
// first get the windowid
chrome.windows.getCurrent(function(window) {
// then get the current active tab in that window
chrome.tabs.query({
active: true,
windowId: window.id
}, function (tabs) {
var tab = tabs[0];
document.write(tab.url)
});
});
这是在我的弹出式html文件中调用的javascript文件中。但它不显示当前网站的URL,而是显示任何内容。
我在本网站和其他网站上发现了多篇关于此的帖子,但我无法实现任何所谓的解决方案。
非常感谢任何帮助。
答案 0 :(得分:27)
也许这就是你要找的......
chrome.tabs.query({'active': true, 'windowId': chrome.windows.WINDOW_ID_CURRENT},
function(tabs){
alert(tabs[0].url);
}
);
答案 1 :(得分:10)
我有同样的问题。我写了这个扩展名来显示当前用户正在弹出窗口中浏览的URL。
manifest.js
"permissions": [
"tabs"
]
popup.js
function getCurrentTabUrl(callback) {
var queryInfo = {
active: true,
currentWindow: true
};
chrome.tabs.query(queryInfo, function(tabs) {
var tab = tabs[0];
var url = tab.url;
callback(url);
});
}
function renderURL(statusText) {
document.getElementById('status').textContent = statusText;
}
document.addEventListener('DOMContentLoaded', function() {
getCurrentTabUrl(function(url) {
renderURL(url);
});
});
答案 2 :(得分:0)
解决方案:
获取Chrome扩展程序当前所选标签的网址 这段代码是获取URL的一部分,因为在
之类的URL。tabs[0].url
中,我们无法获取host, hostname, origin, port, etc...
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
let link = document.createElement('a');
link.href = tabs[0].url;
})
进一步使用基本js来发挥作用:
link.host
=“密码记住.web.app” 您可以使用其他类似link.hostname, link.hash, link.host, link.href, link.origin, .link.pathname, link.protocol, link.search
希望它可以解决您的问题!
答案 3 :(得分:-2)
这是你在找什么?
window.location.href