gpt4 book ai didi

javascript - 如何在 Google Chrome 扩展程序中获取基本 URL

转载 作者:行者123 更新时间:2023-11-30 19:30:08 30 4
gpt4 key购买 nike

我正在尝试构建一个 chrome 扩展程序,它将获取调用它的页面的基本 URL,然后与特定字符串连接并打开一个新选项卡。

到目前为止,我已经尝试了以下代码:

list .JSON

{
"name": "TEST APP",
"version": "1",
"browser_action":
{
"default_icon": "pepe.jpg"
},
"background":
{
"scripts": ["background.js"]
},
"permissions": ["tabs", "http://*/*", "https://*/*"],
"manifest_version": 2
}

背景.js:

chrome.browserAction.onClicked.addListener(function(activeTab){
var base_url = window.location.origin;
var newURL = base_url + "/MyPrivateURLString";
chrome.tabs.create({ url: newURL });
});

当我加载并测试时,基本 URL 是错误的,类似于:

chrome-extension://lpcamgghpaemdddeopfgacgkdcmgdnfn/MyPrivateURLString

如果我硬编码一个完整的 URL 那么它工作正常。为什么我无法动态使用基本 URL?

最佳答案

您使用 activeTab.url 而不是 window.location.origin 是正确的,但是您可以执行以下操作而不是进行字符串操作:

chrome.browserAction.onClicked.addListener(function(activeTab){
var url = activeTab.url; //Assuming it is working fine as per your post
var urlObj = new URL(url);
console.log('---urlObj--', urlObj);
});

这样你就可以获得URL的所有属性。例如:对于当前 URL,您将获得以下详细信息:

hash: "" 
host: "stackoverflow.com"
hostname: "stackoverflow.com"
href: "https://stackoverflow.com/questions/56509769/how-to-get-base-url-in-google-chrome-extension"
origin: "https://stackoverflow.com"
password: ""
pathname: "/questions/56509769/how-to-get-base-url-in-google-chrome-extension"
port: ""
protocol: "https:"
search: ""
searchParams: URLSearchParams{}
username: ""

关于javascript - 如何在 Google Chrome 扩展程序中获取基本 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56509769/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com