我通过执行(将我的代码的相关摘录)将访问过的域保存到字典中:
const url = require('url');
let domainDict = {};
let currentDomain;
chrome.tabs.onUpdated.addListener(function(tabid, changeInfo, tab){
chrome.tabs.query({'active' : true, 'currentWindow': true}, function(tabs){
let newUrl = new URL(tabs[0].url);
currentDomain = newUrl.hostname;
domainDict[currentDomain] = currentTimer;
});
});
这使得console.log(domainDict);
只打印出[object Object]
无论有多少领域我添加到字典中。奇怪的是,我似乎可以使用正确的域键提取正确的值,但是我收到警告,每个键都必须是唯一的,并且当我尝试映射并渲染字典时会收到错误提示,它将在每次迭代中呈现每个键值对。
我已经尝试过currentDomain = url.format(newUrl.hostname)
,甚至实现了使用函数对其进行字符串化的尝试:
currentDomain = urlToString(url.hostname)
function urlToString(url) {
return "Domain: " + url;
}
但是这两种解决方案都具有相同的问题和错误。
从说明来看currentDomain
,,也不存在问题url.hostname
。发生的情况是Chrome控制台以对您无用的格式打印字典。
尝试类似:
console.log('My dict ', domainDict);
要么
console.log(JSON.stringfy(domainDict));
并且您应该看到字典及其键是正确的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句