如何在chrome中复制/获取当前标签网址并在弹出窗口中输出?

时间:2014-07-12 08:46:37

标签: javascript jquery google-chrome google-chrome-extension

我正在尝试创建一个谷歌浏览器扩展程序。我正在尝试设置< H4>(在popup.html中)到当前标签url.Also,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"
  }
}

这是我的popup.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>

这是popup.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);
});

//});

2 个答案:

答案 0 :(得分:1)

我做到了。

添加&#34;背景&#34;:[&#34; popup.js&#34;],manifest.json中的行

并修改了我的popup.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;
});

答案 1 :(得分:0)

encodeURICompenent应为 encodeURIComponent

就像现在一样,你的chrome.tabs.query会在会话开始时被触发 (点击按钮被注释掉)

修改
正如Parag Gangil所述,该日志将在您的分机的后台页面中,而不是您打开的当前(网页)页面 要么转到chrome://扩展程序,请点击扩展程序的背景页&gt;&gt;控制台,或右键单击工具栏图标&#34;检查弹出窗口&#34;