Javascript 如何向chrome扩展中的按钮添加单击事件?
我正在尝试创建一个非常简单的chrome扩展,它可以打开LinkedIn的多个选项卡,搜索我键入的不同关键字 因为这是我的第一个扩展,所以我的大多数代码都基于,这与我的想法非常相似 问题是当我点击我的“搜索”按钮时,什么都没有发生。我刚开始编写一周的代码,所以非常感谢您的帮助 除了知道代码有什么问题外,在这种情况下还需要背景脚本吗 谢谢 这是我的密码: Manifest.jsonJavascript 如何向chrome扩展中的按钮添加单击事件?,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正在尝试创建一个非常简单的chrome扩展,它可以打开LinkedIn的多个选项卡,搜索我键入的不同关键字 因为这是我的第一个扩展,所以我的大多数代码都基于,这与我的想法非常相似 问题是当我点击我的“搜索”按钮时,什么都没有发生。我刚开始编写一周的代码,所以非常感谢您的帮助 除了知道代码有什么问题外,在这种情况下还需要背景脚本吗 谢谢 这是我的密码: Manifest.json { "manifest_version": 2, "name": "Search Assistant", "desc
{
"manifest_version": 2,
"name": "Search Assistant",
"description": "This extension makes LinkedIn Search easy.",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"js": ["myscript.js"]
}
],
"chrome_url_overrides" : {
"newtab": "newtab.html"
},
"background": {
"scripts": ["bg.js"]
}
}
Popup.html
<!doctype html>
<head>
<style type="text/css">
body{
font family: Helvetica, Arial, sans;
font-size: 12px;
}
#instruction{
padding-bottom: 10px;
}
#searcharea{
padding-bottom: 10px;
}
#search{
padding-bottom: 10px;
float: left;
}
#companies{
white-space: nowrap;
overflow:auto;
}
</style>
<style type="text/javascript" src="popup.js"></style>
</head>
<body>
<div id="instruction">Companies you want to search for:</div>
<div id="searcharea"><textarea rows="20" cols="80" id="companies" wrap="soft" tabindex="1"></textarea></div>
<div id="search">
<button id="btn1" tabindex="2">Search</button>
</div>
<p id="demo"></p>
</body>
</html>
身体{
字体系列:Helvetica、Arial、sans;
字体大小:12px;
}
#指示{
垫底:10px;
}
#搜索区{
垫底:10px;
}
#搜寻{
垫底:10px;
浮动:左;
}
#公司{
空白:nowrap;
溢出:自动;
}
要搜索的公司:
搜寻
Popup.js
document.addEventListener('DOMContentLoaded', function (){
document.getElementById('btn1').addEventListener('click', loadSites);
document.getElementById('companies').focus();
});
function loadSites(e){
var companies = document.getElementById('companies').value.split('\n');
for(var i=0; i<companies.length; i++){
thecompany = companies[i].trim();
thesearchurl = 'https://www.linkedin.com/vsearch/c?type=companies&keywords=' + thecompany;
chrome.extension.create({url: thesearchurl, selected:false})
}
}
document.addEventListener('DOMContentLoaded',函数(){
document.getElementById('btn1')。addEventListener('click',loadSites);
document.getElementById('companys').focus();
});
功能加载站点(e){
var companys=document.getElementById('companys').value.split('\n');
对于(var i=0;i您现在有2个小错误。首先,您应该使用脚本标记而不是样式来包含javascript文件。其次:最好在页面准备好后加载javascript。要修复这些错误,请执行以下步骤
删除行
将此
添加到
前面的一行
修复。谢谢你指出。但是按钮仍然没有响应。@adrienk那么你做了这两个步骤?是的,我做了。仍然是一样的。popup.js:11 Uncaught TypeError:chrome.extension.create不是一个函数。问题解决了!我把它改为chrome.tabs.create!非常感谢!