Chrome扩展修改建议和搜索url
Chrome extension modify suggest and search urls
我有这个扩展,改变用户的默认搜索提供程序:
"chrome_settings_overrides" : {
"homepage" : "http://example.com/",
"search_provider" : {
"name": "Example Search",
"is_default" : true,
"encoding" : "UTF-8",
"favicon_url": "http://example.com/favicon.png",
"keyword" : "obifind",
"search_url" : "http://example.com/?q={searchTerms}&gid=DWB020344",
"suggest_url" : "http://example.com/suggest.php?q={searchTerms}&gid=DWB020344"
},
"startup_pages" : ["http://example.com"]
},
search_url
和suggest_url
是固定的,它们正在工作。
然而,当我的扩展安装和background.js
第一次运行时,uid
被生成并存储在localStorage
中。我需要这个uid
也在search_url
和suggest_url
的查询中发送,如果search_url
就像上面的一样:
http://example.com/?q={searchTerms}&gid=DWB020344
我需要它是这样的:
http://example.com/?q={searchTerms}&gid=DWB020344&uid=00445c2e-6aca-11e6-8b77-86f30ca893d3
.
当用户在url栏中搜索时,我如何传递额外的参数?
在后台页面使用webRequest
API应该可以达到这个效果:
var uid = localStorage["uid"]; // Have it ready for max performance of webRequest
if (navigator.doNotTrack != 1) { // Let's not be evil, OK?
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
if (details.url.indexOf("uid=") == -1) { // If no UID yet
return { // return a BlockingResponse object
redirectUrl: request.url.replace("?", "?uid=" + uid + "&")
// Add uid as first parameter, to make sure we don't run into URL fragments
};
}
},
{urls: ["http://example.com/?*gid=DWB020344*"]},
["blocking"]
);
}
需要"webRequest"
和"webRequestBlocking"
权限和持久的背景页面(不能使用"persistent": false
)。
相关文章:
- 主干集合搜索url
- PhantomJS执行搜索并抓取URL
- 使用javascript在外部URL中搜索文件
- JavaScript URL搜索规则
- 如何在谷歌图像搜索api v2中获取图像url
- JavaScript 位置搜索 URL 中的多个查询参数
- 如何在JavaScript中获取Google搜索URL作为参考URL
- 点击jquery/js中的搜索按钮即可获取搜索url
- 使用JavaScript搜索URL的哈希值,而不是特定的字符串
- 使用Angular JS搜索URL参数
- 更改'下载网址'搜索URL'XML数据
- 用JS编辑和搜索URL
- 在分页期间向实际搜索url添加新条件
- Twitch API流搜索URL获得总流AJAX
- 简单的javascript:搜索url的字符串,做一些事情
- 使用Javascript,我需要搜索url的文件扩展名,但它不包括我的搜索中的句点
- 用户通过表单提交关键字;我怎样才能得到'关键词'搜索URL的一部分,以便在页面中进行修改
- Chrome扩展修改建议和搜索url
- 在包含两个单独单词的页面上搜索url
- YouTube API搜索URL编码与多字