javascript - 获取 URL 来源和参数

标签 javascript google-chrome-extension

如何从调用扩展程序的选项卡中轻松提取来源和特定参数?

如果当前 URL 是:

https://base.com/etc/etc?param1=123

我想得到两个变量 起源=“https://base.com” 和 参数 1 = "123"

理想情况下,如果有更多参数,这应该仍然有效,即 如果当前 URL 是 https://base.com/etc/etc?param1=123&param2=234

我还是会得到 起源=“https://base.com” 和 参数 1 = "123"

我知道我可以使用类似的东西

chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {

但我正在慢慢学习 Javascript。这个函数会是什么样子?

最佳答案

The documentation for chrome.tabs.query说在回调 function (tabs) 中你会得到一个 Tab 数组。 Tab 有很多属性,其中之一是 url。所以你可以这样做:

// Get the current active tab in the last focused Chrome window (before the popup showed)
// should return only ONE tab
chrome.tabs.query({ active: true, lastFocusedWindow: true }, function (tabs) {
    if (!tabs[0]) { console.log('Could not get current tab'); return; }

    // Now extract the information from the URL
    let url = new URL(tabs[0].url);
    let base = url.protocol + '//' + url.hostname;
    let param1 = url.searchParams.get('param1');

    console.log(base);
    console.log(param1);
})

关于javascript - 获取 URL 来源和参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47721056/

相关文章:

javascript - 使用 Jquery 和 HTML 按日期排序

javascript - 我们可以将文件而不是字符串存储在 Chrome 存储中吗

javascript - 在 chrome 扩展中使用 html5 blob 下载文件

javascript - 编写第一个 Chrome 扩展程序并尝试根据所选文本执行操作

javascript - 检测从休眠状态唤醒

javascript - 从 karma 服务器提供脚本文件

javascript - 为什么我的模式在单击“添加区域”按钮时没有关闭

javascript - 为什么带有 "immediate: false"的 gapi.auth.authorize 不关闭弹出窗口并触发回调?

javascript - 获取不在数组中的值

空格的 JavaScript 验证