You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome扩展调用chrome.history.search报No matching signature错误如何解决?

问题根因

你收到的报错是因为chrome.history.search接口不支持仅传入查询参数的调用形式,该接口要求必须指定结果的接收方式,和你配置的queryOptions参数无关。
调用前请先确认你已在manifest.json的permissions字段中添加了"history"权限,否则即便调用格式正确也无法正常获取数据。

对应版本修复方案

Manifest V2 版本

V2 版本的 Chrome 扩展 API 默认为回调风格,必须传入第二个回调参数接收结果:

function getSearchHistory(amount) {
    if (amount > 100) amount = 100; // API 单次最多返回100条记录
    console.log("Fetched " + amount + " latest history entries.");
    let queryOptions = {
        text: '',
        maxResults: amount,
        startTime: 0
    };
    // 补充回调参数接收历史记录结果
    chrome.history.search(queryOptions, function(historyItems) {
        // 此处编写处理历史记录的逻辑
        console.log('历史记录查询结果', historyItems);
    });
};

Manifest V3 版本

V3 版本支持 Promise 调用,需要用await关键字接收接口返回的异步结果:

async function getSearchHistory(amount) {
    if (amount > 100) amount = 100; // API 单次最多返回100条记录
    console.log("Fetched " + amount + " latest history entries.");
    let queryOptions = {
        text: '',
        maxResults: amount,
        startTime: 0
    };
    // 补充await接收Promise返回结果
    const historyItems = await chrome.history.search(queryOptions);
    // 此处编写处理历史记录的逻辑
    console.log('历史记录查询结果', historyItems);
    return historyItems;
};

额外提示

你原有代码中的打印日志存在空格缺失问题,"Fetched " + amount + "latest"会输出类似Fetched 10latest history entries的格式问题,上述修复代码中已补充对应空格。


内容的提问来源于stack exchange,提问作者my first question here was bad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:12:02