【问题标题】:History search failing to execute in Chrome extension历史搜索无法在 Chrome 扩展中执行
【发布时间】:2011-05-10 02:22:32
【问题描述】:

我正在为 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");

运行时,会显示“Call 1”,但不会对历史记录进行任何操作,并且永远不会显示“Call 2”。这可能是什么原因造成的?如果这是一个简单的问题,我深表歉意,但这是我第一次尝试合法的 Chrome 扩展程序。

【问题讨论】:

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


    【解决方案1】:

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

    您的历史调用是正确的,所以也许您上周的计算不正确?这对我有用:

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

    【讨论】:

    • 这很奇怪。我检查了控制台,它告诉我(错误:你没有使用'history.search'的权限。一定要在你的清单中声明你需要什么权限。)具体来说,我有(“权限”:[“标签” , "历史", "unlimitedStorage", "通知" ])
    • @Mike 您是从 background.html 而非内容脚本运行它吗?
    • 内容脚本向 background.html 发送请求,然后 background.html 执行 chrome.history.search。
    • @Mike 那你的manifest有问题,你贴出来我看看。
    • 因为 cmets 中不支持换行符,所以我给你这个link 感谢你抽出时间来看看这个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2014-09-05
    • 1970-01-01
    相关资源
    最近更新 更多