如何解决chrome.topSites在Microsoft EdgeChromium中返回未定义
我正在尝试在chrome扩展程序中获得访问量最大的网站。我已经阅读过Chrome扩展程序开发人员文档。
当我尝试从topSites
对象获取属性chrome
时,它返回undefined
。但根据文档,自Chrome 36起可用。
即使我在topSites
中添加了访问manifest.json
的权限。
//Load top sites
function getTopSites() {
chrome.topSites.get((top) => {
console.log(top);
});
}
getTopSites()
当我打印chrome
对象时,找不到任何属性topSites
。但是文档中提到topSites
。
//Load top sites
function getTopSites() {
console.log(chrome);
};
getTopSites()
Microsoft Edge中的输出
"permissions": [
"activeTab","storage","topSites"
]
我试图在浏览器的控制台中对输出进行控制台。
谁能告诉我这是什么问题?
解决方法
我尝试在MS Edge Chromium浏览器85.0.564.51版中使用chrome.topSites进行测试
我发现它工作正常。
我建议您尝试将其显示在html文件而不是控制台中。
我对以下文件和代码进行了测试扩展。
popup.html
<!DOCTYPE HTML>
<html>
<body>
<h2>site list</h2>
<div id='urls'></div>
<script src='popup.js'></script>
</body>
</html>
popup.js
function top_site(urls)
{
var url= document.getElementById('urls');
for (var i = 0; i < urls.length; i++)
{
url.innerHTML += urls[i].url + "<br>";
}
}
chrome.topSites.get(top_site);
manifest.json
{
"name": "sitelist","version": "101","description": "display site list","permissions": ["topSites"],"browser_action": {
"default_icon": "icon.png","default_popup": "popup.html"
},"manifest_version": 2
}
在Edge浏览器中的输出:
扩展名的参考
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。