[英]Display current URL in a chrome extension
经过一番研究,我想出的代码是这样的:
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,而是什么都不显示。
我在这个网站和其他网站上找到了多篇关于此的帖子,但我无法实施任何假设的解决方案。
任何帮助将不胜感激。
也许这就是你要找的......
chrome.tabs.query({'active': true, 'windowId': chrome.windows.WINDOW_ID_CURRENT},
function(tabs){
alert(tabs[0].url);
}
);
并且需要在清单中设置选项卡权限...
清单文件
"permissions": [
"tabs"
]
我遇到过同样的问题。 我写了这个扩展来在弹出窗口中显示当前用户正在浏览的 URL。
manifest.js
"permissions": [
"tabs"
]
弹出窗口.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);
});
});
解决方案:
获取 Chrome 扩展程序当前选择的选项卡的 URL 此代码是获取 URL 的一部分,因为在
tabs[0].url
我们无法获取 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
= "password remember.web.app" 你可以使用其他像link.hostname, link.hash, link.host, link.href, link.origin, .link.pathname, link.protocol, link.search
希望它能解决您的问题!
这是你想要的?
window.location.href
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.