我正在使用Chrome扩展程序,但出于某种原因,我只能在一个函数中创建一个新选项卡,而不是在多个函数中。
代码 -
function editorial() {
chrome.tabs.query({currentWindow: true, active: true}, function(tabs){
var tab_url=tabs[0].url;
var new_url=tab_url.slice(11);
chrome.tabs.create({ url:"http://www.discuss." + new_url});
});
}
document.addEventListener('DOMContentLoaded', function () {
var btn = document.getElementById('viewEditorial');
if (btn) {
btn.addEventListener('click', editorial);
}
});
function friends()
{
var frnd_name=document.getElementById('frnd1').value;
alert(frnd_name+"rocks");
/*chrome.tabs.query({currentWindow: true, active: true}, function(tabs){
var tab_url=tabs[0].url;
var new_url=tab_url.slice(11);
chrome.tabs.create({ url:"http://www.discuss." + new_url});*/
}
document.addEventListener('DOMContentLoaded', function () {
var btn2 = document.getElementById('viewFriends');
if (btn2) {
btn2.addEventListener('click', friends);
}
});
我希望能够使用frnd_name在函数friends()的新标签页中打开一个网址。
如果未使用评论的部分,那么它工作正常并且警报消息也会出现,但如果使用了评论部分,那么由于某种原因,它不起作用。
关于错误/问题是什么的任何想法?
答案 0 :(得分:0)
我认为这是因为 chrome.tabs 无法在内容脚本中使用。
你应该这样做:
希望这有帮助
答案 1 :(得分:0)
嗯,问题是由于缺少'}'而不存在。 我浪费了很多时间,最终这个bug很简单。 现在,我已经吸取了教训,总是检查你的代码两次以获得正确的括号。