如何使用Google Chrome扩展程序获取链接(URL)

时间:2013-06-04 07:31:09

标签: javascript html html5 google-chrome google-chrome-extension

我想使用谷歌浏览器扩展程序来获取网页的链接(网址)。获取链接的问题是HTML页面可以实现我想要的但扩展名是没有实现相同的代码。我的意思是相同的代码适用于HTML网页,但不适用于 Google Chrome扩展程序,尽管两者都是在HTML页面中编码,但可能存在一些限制因素阻止我实施代码。

这是我的HTML页面。

<html>
<head>
</head>
<body>
    <form>
        <h1> 
            LinkLet
        </h1>
        Email the Link <input type="text" name="myinputbox" class="form1"          id="myinputbox"><br>
    </form> 
</body>

这是我选择链接的JS页面。此页面在浏览器上独立运行时正常工作,但在与Chrome扩展程序捆绑在一起时无效。

chrome.browserAction.onClicked.addListener(function(activeTab)
{
var newURL = "Link.html";
chrome.tabs.create({url: newURL});
});
var url = document.URL;
var elem = document.getElementById("myinputbox");
elem.value = url;

我的清单文件是

{
"background" :{
"scripts" : ["background.js"]
},
"manifest_version" :2,
"name": "My Extension",
"version": "1.0",
"description": "Opens up a local webpage",
"icons": { "1": "1.png" },

"browser_action": {
"default_title": "Hi123",
"default_icon": "1.png"
},
"permissions": [
"tabs"
]
}

1 个答案:

答案 0 :(得分:0)

如果您想要在按下扩展按钮/图标之前选择当前页面的URL。

使用以下代码。

chrome.tabs.query({
    "active": true,//fetch active tabs
    "currentWindow": true,//fetch tabs in current window
    "status": "complete",//fetch completely loaded windows
    "windowType": "normal"//fetch normal windows
}, function (tabs) {
    for (tab in tabs) {
        console.log(tabs[tab].url);// Use this URL as needed
    }
});

它可以消除上述努力。

P.S: var elem = document.getElementById("myinputbox");由于缺少元素,上述代码将无法在后台页面中使用。