Chrome扩展程序:如何使url.hostname成为字符串,以便可以用作字典中的键?

麦迪

我通过执行(将我的代码的相关摘录)将访问过的域保存到字典中:

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;
}

但是这两种解决方案都具有相同的问题和错误。

Haroldo_OK

从说明来看currentDomain,,也不存在问题url.hostname发生的情况是Chrome控制台以对您无用的格式打印字典。

尝试类似:

console.log('My dict ', domainDict);

要么

console.log(JSON.stringfy(domainDict)); 

并且您应该看到字典及其键是正确的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Google Chrome扩展程序中获取基本URL

如何“清理”给定格式的字符串数据,以便可以从中创建字典?

如何从外部URL将JSON字符串加载到Chrome扩展程序中

如何从字符串中删除引号,以便可以将其用于关联数组

如何將鍵簽名添加到字符串以便它可以用作對象的索引?

如何使用JavaScript在Chrome扩展程序中获取当前选项卡的URL

如何在单个Chrome扩展程序中的不同URL上运行不同的javascript文件

如何让content_scripts在Chrome扩展程序的file:/// URL中执行

如何将 Chrome 扩展程序代码中的任何文件作为 url 访问

如何更改txt文件中的数据(字符串),以便可以对该数据进行数学运算?

如何反序列化JSON字符串,以便可以在C#中循环播放?

如何从字符串数组中获取字符串,以便可以与SetText一起使用?Android Studio

Chrome扩展程序:取消隐藏URL字符串匹配中的弹出文本

您可以注册Chrome扩展程序的OpenSearch URL吗?

在Pandas中,如何使用变量名来表示行索引,以获得可以用作标题行的字符串?

如何分割字符串以便可以访问项目x?

如何打印postgres表输出,以便可以区分空字符串和null

chrome扩展程序中的用户可配置的url权限

Chrome扩展程序:URL未在新标签页中打开

Chrome扩展程序:URL字段中的上下文菜单

在网站Chrome扩展程序中捕获URL更改

Swift如何将文档文件URL转换为字符串,以便可以在TableView中显示文件名

如何在Google Chrome扩展程序中启动新窗口

如何在Chrome扩展程序中配置Ember路由?

如何在Chrome扩展程序开发中获取选定的文本?

如何在Chrome的扩展程序中包含库

如何防止我的Chrome扩展程序中的弹出窗口放大

如何在Chrome扩展程序中本地保存信息?

如何在Chrome扩展程序中缓存数据?