重定向到新的URL使用onBeforeRequest和Chrome .tab .query (Chrome扩展)
Redirect to new URL using onBeforeRequest and chrome.tabs.query (Chrome Extension)
祝你好运。
我有一些有趣的想法,必须在用户输入"enter"后更改URL。
我的manifest文件:
{
"name": "The Pirate Bay_2",
"description": "Redirect The Pirate Bay to a different host",
"version": "1.0",
"manifest_version": 2,
"browser_action": {
"default_title": "Saving Studio generator",
"default_popup": "popup.html"
},
"background": {"scripts":["redirect.js"]},
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"js": ["background.js"]
}
],
"permissions":
[
"webRequest",
"https://www.amazon.com/",
"webRequestBlocking",
"tabs",
"activeTab"
]
}
我的redirect.js文件:
var host = "https://2ch.hk/b/";
chrome.tabs.query({
'active': true, 'currentWindow': true
}, function (tabs) {
var url = tabs[0].url;
host = host+url;
console.log(url);
});
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
if (localStorage.check_box == "true"){
console.log("start_1");
return {redirectUrl: host};
}
},
{
urls: ["https://www.amazon.com/" ],
types: ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"]
},
["blocking"]
);
主要是如何接受输入的URL,通过一些正则表达式模式更改它,返回结果URL以重定向到它。怎么可能做到呢?如何插入chrome.tabs。查询内部onBeforeRequest或这不需要,有另一种方式?
大谢谢我不得不使用chrome存储API做类似的事情,这也是异步的。我所做的是把web请求监听器放在async函数的回调中。所以在你的例子中:
var host = "https://2ch.hk/b/";
chrome.tabs.query(
{
'active': true, 'currentWindow': true
},
function (tabs) {
var url = tabs[0].url;
host = host+url;
console.log(url);
}
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
if (localStorage.check_box == "true"){
console.log("start_1");
return {redirectUrl: host};
}
},
{
urls: ["https://www.amazon.com/" ],
types: ["main_frame", "sub_frame", "stylesheet", "script", "image", "object", "xmlhttprequest", "other"]
},
["blocking"]
);
);
我还没有测试过,但这是我需要使用存储API时所做的,所以请尝试一下。
相关文章:
- Tab键不会't继续chrome/IE11中的表单字段
- 在新的tab-chrome扩展中执行内容脚本
- 在Chrome浏览器中获取Tab键的密钥代码的问题
- Tab分隔符在Chrome文本区域无效-Javascript
- chrome.tab .create函数包装器,为什么不工作
- 我如何得到chrome.tab .update重定向到一个url
- 在for循环中调用异步的chrome.tab .create
- 最好的方法来检查Tab是否与确切的ID存在于Chrome
- Chrome扩展在TAB创建后解析主体
- Chrome扩展-使用当前tab's窗口功能从后台
- 使用tab键在Safari和Chrome中不工作的对话框元素内循环
- Chrome Tab Sync javascript API
- 是否可以使用ie TAB视图调试chrome浏览器上的javascript
- 在chrome中无法捕获ctrl tab键事件
- 重定向到新的URL使用onBeforeRequest和Chrome .tab .query (Chrome扩展)
- 谷歌Chrome扩展Chrome .tab . onupdate . addlistener
- jquery Enter as Tab在Firefox中不工作,但在Chrome中工作良好
- 停止TAB键事件传播在chrome后的一个动作
- 如何使用Chrome .tab . getcurrent来获取Chrome扩展中的页面对象
- Chrome扩展TAB事件监听器不工作