Omnibox扩展如何创建表格数据并将其发布到网站,然后显示结果?
这是我想要做的一个例子。当您在多功能框中输入lookup bieber
时,我希望我的扩展程序发布表单数据,如
searchtype: all
searchterm: bieber
searchcount: 20
到网址http://lookup.com/search
这样浏览器最终会加载http://lookup.com/search
搜索结果。
如果我可以在GET中发送数据,这将是微不足道的,但lookup.com需要HTTP POST。我能想到的唯一方法是将一个表单注入当前页面然后提交它,但(a)只有在是当前页面时才有效,并且(b)它不能似乎无论如何工作(可能需要设置权限)。
在走这条路之前,我认为其他人必须至少尝试过这样做。你呢?
答案 0 :(得分:0)
你可以使用omnibox api:
来做到这一点chrome.omnibox.onInputChanged.addListener(
function(text, suggest) {
doYourLogic...
});
由于您键入的某个关键字,您的分机“已激活”,您可以拨打以下内容:
var q = the params you wish to pass
var url = "http://yourSite.com";
var req = new XMLHttpRequest();
req.open("POST", url, true);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.onreadystatechange = function() {
if (req.readyState == 4) {
callback(req.responseXML);
}
}
req.send(q);