Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在chrome扩展中显示当前URL_Javascript_Google Chrome_Tabs_Google Chrome Extension - Fatal编程技术网

Javascript 在chrome扩展中显示当前URL

Javascript 在chrome扩展中显示当前URL,javascript,google-chrome,tabs,google-chrome-extension,Javascript,Google Chrome,Tabs,Google 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 (tab

在做了一些研究之后,我得出的代码是:

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)
    });
});
这是在一个javascript文件中,该文件是从我的弹出式html文件调用的。但是,它不显示当前网站的URL,而是不显示任何内容

我在这个网站和其他网站上找到了很多关于这个的帖子,但是我还没有能够实现任何假设的解决方案


任何帮助都将不胜感激。

也许这正是您需要的

chrome.tabs.query({'active': true, 'windowId': chrome.windows.WINDOW_ID_CURRENT},
   function(tabs){
      alert(tabs[0].url);
   }
);
并且需要在清单中设置选项卡权限

manifest.json

"permissions": [ 
  "tabs"
]

我也有同样的问题。我编写这个扩展是为了在弹出窗口中显示当前用户正在浏览的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); 
  });
});

解决方案:

获取当前选定的Chrome扩展选项卡的URL 此代码用于获取URL的一部分,因为在
选项卡[0].URL
中,我们无法获取URL的一部分,如
主机、主机名、源、端口等。

进一步使用基本js来获取其部分:
link.host
=“密码记住.web.app” 您可以使用诸如
link.hostname、link.hash、link.host、link.href、link.origin、.link.pathname、link.protocol、link.search等其他链接


希望它能解决你的问题

我对此没有定义(明白了-必须在
manifest.json
^中添加以下内容:
“权限”:[“选项卡”]
,然后在chrome://extensions/ 页面不要忘记在Manifest.json中设置制表符权限
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
let link = document.createElement('a');
link.href = tabs[0].url;
})