我正在编写Google Chrome扩展程序,特别是轻量级EPUB阅读器,其目标是与Chrome中的内置PDF阅读器一样光滑。
我想弄清楚的是,当您点击通常会强制您将epub文件保存到磁盘的链接时,是否可以某种方式触发扩展自动。
在一个完美的世界中,每个指向epub文件的链接都会指向file.epub
,您可以使用内容脚本将其指向扩展名,但不幸的是,通常情况并非如此。 。所以我想的是,它必须在HTTP get请求至少返回头部后触发,并通过chrome.webRequest
或其他东西触发mime类型。
您可以从提供给您的文件的mime类型调用Google Chrome扩展程序吗?
答案 0 :(得分:0)
假设您对所有功能都有浏览器操作,您可以使用chrome.webRequest.onHeadersReceived,chrome.browserAction.enable()和chrome.browserAction.disable()
检测并启用\ disable扩展程序伪代码
的的manifest.json 强> 的
{
"name": "Detect Mime type",
"version": "1.0",
"description": "Detecting Mime type and enabling browser action",
"permissions": ["webRequest", "webRequestBlocking",
"<all_urls>"],
"background": {
"scripts": ["background.js"]
},
"browser_action":{
"default_popup":"popup.html", // Use you related code here
"default_icon":"icon.jpg"
},
"manifest_version": 2
}
的 background.js 强> 的
chrome.webRequest.onHeadersReceived.addListener(function (object){
// Do your code for related header(s)
//Invoke chrome.browserAction.enable(integer tabId) or chrome.browserAction.disable(integer tabId)
},{urls: ["<all_urls>"]});
chrome.tabs.query({"status":"complete"}, function(tabs){
//Disable all browser actions using chrome.browserAction.disable(integer tabId)
});
如果您需要更多信息,请与我们联系。