在Google Chrome扩展程序中添加实时搜索

时间:2016-03-18 14:56:24

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

是否有可能在您自己的扩展程序中使用实时自动填充谷歌搜索?因此,用户通过JSON或任何其他方便的格式提供输入更改,以触发谷歌搜索结果。

live search in google chrome

我想可能会使用对google.com/?q=的AJAX调用进行劫持,并进一步解析HTML结果,但这似乎不是很明确的技术。

我还检查过Google chrome API index但未找到相关项目。

1 个答案:

答案 0 :(得分:-2)

这不在官方文档中,但是在其他扩展代码中挖掘,表明可以通过使用JSONP requestshttps://suggestqueries.google.com/网址来实现。

以下是使用jQueryUI autocomplete widget宽度进一步重定向到Google搜索结果的示例代码:

$("#googleSearch").autocomplete({
    source: function(request, response) {
            $.ajax({
                url: "https://suggestqueries.google.com/complete/search?client=chrome&q=",
                dataType: "jsonp",
                data: {
                    q: request.term
                },
                success: function(data) {
                    response(data[2].splice(0, 15));
                }
            });
        },
        minLength: 1,
        select: function(event, ui) {
            var value = ui.item.label;

            if (ui.item.label.indexOf("http://") === -1 && ui.item.label.indexOf("https://") === -1) {
                value = "http://google.com/search?q=" + value
            }

            document.location = value;
        }
    });

如果使用此方法,则以下CSP必须位于manifest.json

"content_security_policy": "script-src 'self' 'unsafe-eval' https://suggestqueries.google.com/complete/ https://ajax.googleapis.com/ajax/services/feed/ https://*.googleapis.com/ https://www.google.com/; object-src 'self'",