我正在为Chrome编写扩展程序,以显示用户访问量最大的3个网站。 (是的,我知道“新标签页”页面已经这样做了)但是,每当我尝试查询用户历史记录时,似乎整个脚本都会关闭。
我的清单文件确实包含:
{
"name": "Most Visited Sites Test",
"description": "Show your most visited sites",
"version": "1.0",
"background_page": "background.html",
"app": {
"launch": {
"web_url": "http://localhost/*"
}
},
"permissions": [
"tabs",
"history",
"unlimitedStorage",
"notifications"
],
"icons": {"128": "icon.png" },
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["contentscript.js"]
}
]
}
所以我相信这应该让我的背景页面能够使用历史记录。但是,我的背景页面包含:
function onRequest(request, sender, sendResponse)
{
alert("Call 1");
var oneWeekAgo = //Code for getting last weeks date;
chrome.history.search({
'text': '',
'startTime': oneWeekAgo
},
function(historyItems)
{
// Do stuff...
});
alert("Call 2");
};
请求是从我的contentscript.js发送的
chrome.extension.sendRequest("foo");
运行时,会显示“呼叫1”,但之后没有任何历史记录,并且“呼叫2”从未显示。可能是什么导致了这个?如果这是一个简单的问题,我很抱歉,但这是我第一次尝试合法的Chrome扩展程序。
答案 0 :(得分:0)
打开控制台以查看是否有任何错误是我经常做的第一件事(转到“扩展”选项卡并单击“background.html”)。
你的历史记录电话是正确的,所以也许你的上周计算不是吗?这对我有用:
chrome.history.search({text: "", startTime:(new Date()).getTime()-7*24*3600*1000}, function(items) {
console.log(items);
});