Поиск по истории не удается выполнить в расширении Chrome - PullRequest
1 голос
/ 10 мая 2011

Я нахожусь в процессе написания расширения для 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 голосов
/ 10 мая 2011

Открытие консоли, чтобы увидеть, есть ли какие-либо ошибки, это первое, что я всегда делаю (перейдите на вкладку Расширения и нажмите «background.html»).

Ваш исторический вызов верен, так что, возможно, ваш расчет за последнюю неделю не так? Вот что у меня работает:

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