每次点击某些内容时,onBeforeRequest都不会运行

时间:2014-06-15 22:10:57

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

更新1: 现在感谢Xan我不再进入开始页面,添加[“main_frame”,“sub_frame”,“script”,“xmlhttprequest”]。

仍然令人讨厌的是,如果您到达了个人资料页面,现在点击开始页面(或f徽标),则没有任何反应。它接缝因为这是一个ajax调用,我的扩展名重写了url,没有加载“新”页面而且我们被卡住了。

即使是ajax电话或其他内容,我还能做什么才能重定向回facebook.com/messages?

我的background.js看起来现在就像这样:

var patternURL = new RegExp("http(s)?://www\.facebook\.com(/|/\\?ref=[^\/]*)?$");
var targetURL = "https://www.facebook.com/messages";
var patternShowIcon = new RegExp("http(s)?://www\.facebook\.com");

chrome.webRequest.onBeforeRequest.addListener(function(details) {

    if (patternURL.test(details.url)) {
        return {
            redirectUrl : targetURL
        };
    }
}, {
    urls : ["*://*.facebook.com/*"],
    types : ["main_frame", "sub_frame", "script", "xmlhttprequest"]
}, ["blocking"]);

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {

    chrome.tabs.get(tabId, function(tab) {
        if (patternShowIcon.test(tab.url)) {
            chrome.pageAction.show(tabId);
        } else {
            chrome.pageAction.hide(tabId);
        }
    });
});

可以在github上找到作为扩展程序链接的漏洞代码。

0 个答案:

没有答案