Api 获取chrome.topSites和最近关闭的选项卡
我正在开发chrome扩展,它将取代新的tab用户界面 我能够检索已安装的应用程序信息。 但是,我无法检索访问次数最多和最近关闭的选项卡信息 我的manifest.jsonApi 获取chrome.topSites和最近关闭的选项卡,api,google-chrome-extension,browser-history,Api,Google Chrome Extension,Browser History,我正在开发chrome扩展,它将取代新的tab用户界面 我能够检索已安装的应用程序信息。 但是,我无法检索访问次数最多和最近关闭的选项卡信息 我的manifest.json { "name": "Cloud Tab", "version": "1.0", "description": "New Tab with cloud UI.", "background_page": "background.html", "permissions": [ "tabs","management","topS
{
"name": "Cloud Tab",
"version": "1.0",
"description": "New Tab with cloud UI.",
"background_page": "background.html",
"permissions": [ "tabs","management","topSites",
"chrome://favicon/"],
"chrome_url_overrides": {
"newtab": "CloudTab.html"
}
}
My CloudTab.html页面的脚本标记包含
chrome.topSites.get(function(info){
for(var i=0;i<info.length;i++) {alert(info[i].url);}
});
chrome.topSites.get(函数(信息){
for(var i=0;iUncaught TypeError:无法调用未定义的
我已经参考了谷歌的api,但没有运气
我正在运行chrome的13.0.782版
有什么建议吗?您可以在后台页面中使用事件侦听器跟踪已关闭的选项卡,并请求其中的一些信息。大多数Chrome API方法都是异步的。因此,您需要做的是传入回调函数
getTopSites: function(callbackfunc) {
chrome.topSites.get (function(url_list) {
for(var i=0;i<url_list.length;i++) {callbackfunc(url_list[i]);}
});
}
请原谅我在上面犯的任何语法错误。要使用此API,您的Chrome版本必须大于或等于19。
请参阅Google Chrome extensions的扩展页面中的新功能:我尝试了这种方法,它在Chrome 37中运行
popup.js
anchorclick(事件)上的函数{
create({url:event.srcmelement.href});
返回false;
}
函数buildPopupDom(MOSTvisitedURL){
var popupDiv=document.getElementById('mostVisited_div');
var ol=popupDiv.appendChild(document.createElement('ol'));
对于(var i=0;i
popup.html
访问量最大的链接
manifest.json
“chrome\u url\u覆盖”:{
“newtab”:“CloudTab.html”
}
“权限”:[
“标签”,
“表土”,
“http://*/*”,
“https://*/*”
],
“浏览器操作”:{
“默认图标”:“图标32.png”,
“默认弹出窗口”:“popup.html”
},
“内容脚本”:[{
“匹配项”:[“”],
“js”:[“popup.js”]
}]
选项卡。onRemoved
不可靠,或者至少它的使用不充分,因为它被调用,即使是一些不可见的选项卡,也无法与普通选项卡区分开来。此外,为了正确跟踪最近关闭的选项卡,您需要处理选项卡。onUpdated
,这也不可靠:(AFAIKalert
将不起作用,请改用console.log
getTopSites(function(url){alert(url);});
function onAnchorClick(event) {
chrome.tabs.create({ url: event.srcElement.href });
return false;
}
function buildPopupDom(mostVisitedURLs) {
var popupDiv = document.getElementById('mostVisited_div');
var ol = popupDiv.appendChild(document.createElement('ol'));
for (var i = 0; i < mostVisitedURLs.length; i++) {
var li = ol.appendChild(document.createElement('li'));
var a = li.appendChild(document.createElement('a'));
a.href = mostVisitedURLs[i].url;
a.appendChild(document.createTextNode(mostVisitedURLs[i].title));
a.addEventListener('click', onAnchorClick);
}
}
chrome.topSites.get(buildPopupDom);
<!DOCTYPE html>
<html>
<body>
<h2>Most visited links</h2>
<div id="mostVisited_div"></div>
<script src="popup.js"></script>
</body>
</html>
"permissions": [
"tabs",
"topSites",
"http://*/*",
"https://*/*"
],
"browser_action": {
"default_icon": "icon_32.png",
"default_popup": "popup.html"
},
"content_scripts": [{
"matches": ["<all_urls>"],
"js": ["popup.js"]
}]