Chrome扩展活动选项卡和console.log
Chrome extension active tab and console.log
这是我的第一个chrome扩展,我只想从一个简单的事情开始:抓取url并在console.log()中显示它。问题是当我点击那个按钮时,没有任何记录。
manifest.json
{
"manifest_version": 2,
"name": "Copy Title and URL",
"description": "This extension will copy the title and url of an article",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"activeTab"
]
}
popup.html
<!doctype html>
<html>
<head>
<title>Copy Title & URL</title>
<script src="popup.js"></script>
</head>
<body>
<button id="copyUrl">Copy Title + URL</button>
</body>
</html>
popup.js
document.addEventListener('DOMContentLoaded', function() {
var copyURLButton = document.getElementById('copyUrl');
copyURLButton.addEventListener('click', function() {
chrome.tabs.getSelected(null, function(tab) {
console.log(tab.url);
});
}, false);
}, false);
你知道我哪里做错了吗?
谢谢。
可能您正在查看的控制台是错误的,因为您的代码看起来很好(除了使用废弃的getSelected()
,您应该切换到query()
)
要访问弹出窗口的控制台,您需要右键单击扩展的按钮并选择"Inspect popup"。
太棒了,我似乎看错了控制台。我将代码更改为下面的查询。
document.addEventListener('DOMContentLoaded', function() {
var copyURLButton = document.getElementById('copyUrl');
copyURLButton.addEventListener('click', function() {
chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) {
console.log(tabs[0].url);
});
}, false);
}, false);
相关文章:
- Array.length似乎不起作用;console.log则显示其他情况
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- console.log以外的Javascript输出函数
- 如果在代码末尾进行求值,jQuery-console.log将提供空数组
- 为什么生成器中的console.log会按这样的顺序出现
- async问题,JS Promise无法返回结果,但可以使用console.log
- 谷歌地图:函数返回未定义的值在console.log中运行良好
- 我应该返回一个类似console.log()的方法调用吗
- console.log无法运行Mac OS X
- 如何使console.log可配置
- 如何使用console.log语句在Mocha中测试函数
- 为什么我可以't直接将console.log()设置为回调函数
- Node.js/Express未输出console.log,highcharts.js给出未定义的错误
- console.log在角度控制器内不工作
- Mocking console.log()/MOCHA测试框架中的任何其他函数
- 如何使用console.log在因果报应测试中检查函数
- Console.log - getElementsByClassName
- nodejs console.log of object
- 监视JavaScript输出,例如console.log()
- AngularJS:console.log不显示任何内容