历史记录搜索无法在Chrome扩展程序中执行

时间:2011-05-10 02:22:32

标签: javascript google-chrome-extension browser-history

我正在为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扩展程序。

1 个答案:

答案 0 :(得分:0)

打开控制台以查看是否有任何错误是我经常做的第一件事(转到“扩展”选项卡并单击“background.html”)。

你的历史记录电话是正确的,所以也许你的上周计算不是吗?这对我有用:

chrome.history.search({text: "", startTime:(new Date()).getTime()-7*24*3600*1000}, function(items) {
    console.log(items);
});