我想创建一个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可能就是这样。我只是希望没有消息传递的一些简单的全局代码就足够了。我接受进一步的建议,尽管...谢谢 –