我想使用谷歌浏览器扩展程序来获取网页的链接(网址)。获取链接的问题是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"
]
}
答案 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");
由于缺少元素,上述代码将无法在后台页面中使用。