更新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上找到作为扩展程序链接的漏洞代码。