如何复制/获取当前标签url在chrome和输出弹出窗口

How to copy/fetch current tab url in chrome and output in popup?

本文关键字:chrome url 输出 窗口 标签 何复制 复制 获取      更新时间:2023-09-26

我正在尝试创建一个谷歌chrome扩展。我试图设置innerHTML

(在popup.html中)到当前选项卡url。另外,console.log不打印控制台中的任何内容。

这是我的manifest.json

{
  "name": "Hello World!",
  "version":"1.1",
  "manifest_version": 2,
  "description": "My first Chrome extension.",
  "permissions":["tabs"],
  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  }
}

这是我的弹出窗口。html

<body style="width:450px;height:150px">
<script type="text/javascript" src="popup.js" ></script>
<h1>Hello World!</h1>
<h2>This is my first chrome extension.</h2>
<h3>Hope you love it.</h3>
<h4 id="url"></h4>
</body>

这是pop .js -

//chrome.browserAction.onClicked.addListener(function(tab)
//{     
    /*console.log("papaya");
    var encoded_url = encodeURIComponent(tab.url);
    var urlObj = document.getElementById("url");
    urlObj.innerHTML = encoded_url;*/
    chrome.tabs.query({currentWindow: true, active: true}, function(tabs){
    console.log(tabs[0].url);
});
//});

我做到了。

添加了"background":["popup.js"],在manifest.json

并修改了我的pop .js

chrome.tabs.query({currentWindow: true, active: true}, function(tabs){
    var tab_url = tabs[0].url;
    console.log(tab_url);
    var urlObj = document.getElementById("url");
    urlObj.innerHTML = tab_url;
});

encodeURICompenent应为encodeURIComponent

和现在一样,您的chrome.tabs.query在会话开始时被触发
(click按钮被注释掉)

编辑:


并且正如Parag Gangil所说,该日志将在您的扩展的后台页面,而不是当前(web)页面您打开
要么去chrome://扩展和单击背景页的扩展>>控制台,或右键单击工具栏图标"检查弹出窗口"