[英]chrome extension to get URL not working
我试图做一个chrome扩展名,它可以给出当前窗口的当前选项卡的URL字符串。 我曾见过类似的问题,但是,不知道为什么我的系统无法正常工作。 我也处理过时的电话。 这里是
我什至已经在manifest.json文件中正确设置了权限。 但这不起作用。 这是主要的js文件代码
//background.js
chrome.browserAction.onClicked.addListener(function(tab) {
// Send a message to the active tab
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
var activeTab = tabs[0];
chrome.tabs.sendMessage(activeTab.id, {"message": "clicked_browser_action"});
});
});
//content.js
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if( request.message === "clicked_browser_action" ) {
var firstHref = $("a[href^='http']").eq(0).attr("href");
//console.log(firstHref);
alert(firstHref);
}
}
);
有人能帮我吗?
您没有在清单文件中添加HTML文件,这就是为什么项目无法正常工作的原因,请在manifest.json中进行如下更改:-
.......
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
....some code here//
另外,您也可以在这里看到chrome的有效扩展
使用以下代码更改background.js:
document.addEventListener('DOMContentLoaded', function () {
var link = document.getElementById('btn');
// onClick's logic below:
link.addEventListener('click', function () {
AddUrl();
});
function AddUrl() {
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
alert(tabs[0].url)
// document.getElementById('Current_url').value = tabs[0].url;
console.log(tabs[0].url, tabs[0].title, tabs[0].incognito, tabs, this.bookmark_title);
});
}
});
和popup.html使用以下代码:-
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<script src="background.js"></script>
<body>
<h1>This is a Heading</h1>
<button id="btn"> Click Me </button>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.