我想創建一個Chrome擴展,將谷歌學者endnote文件轉換爲引文格式。谷歌Chrome擴展webrequest攔截
chrome.webRequest.onBeforeRequest.addListener(function(reqObj){
if (reqObj.tabId != -1){
var xhr = new XMLHttpRequest();
xhr.open("GET", reqObj.url, true);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
parseEndnote(xhr.responseText); //Parse the endnote and create the citation
}
}
xhr.send();
return {redirectUrl : "data:text/plain;charset=utf-8,Citation%20Created"}
}
},
{urls : ["*://*/scholar.enw*"]},
["blocking"]
);
問題:
我重定向到一個傳輸數據的URL。我寧願點擊動作爲取消。
返回{cancel : true}
導致用戶被重定向到「此頁-被阻斷逐的擴展通用鉻頁」
任何想法,如何解決這一個?
任何你不能在綁定到你想要停止的相關鏈接的事件監聽器中注入一個內容腳本和'return false'(或'e.preventDefault()')的原因? – apsillers
@apsillers可能就是這樣。我只是希望沒有消息傳遞的一些簡單的全局代碼就足夠了。我接受進一步的建議,儘管...謝謝 –