很遗憾你没有回答我的评论,所以我忘记了你的问题并失去了赏金。我想我的答案对您来说更容易使用,因为您无需单击任何上下文菜单即可直接在浏览器中查看 PNG:
Chrome 扩展 Redirector 可以配置为替换 HTTP 响应标头。我为任何以“.png”结尾的 URL 创建了一个替换 Content-Type 标头的规则:
将此 JSON 代码粘贴到文本编辑器中,另存为 png_rule.json,然后在重定向器设置中转到 规则管理器,单击 文件打开 im-/export 选项并导入规则 version 1:
[{"name":"x-png -> png","match":{"str":"\\.png$","type":0,"modi":false},"sub":{"str":"Content-Type","type":4,"modi":true,"modg":true},"repl":{"str":"image/png","decode":false},"enabled":1}]
从现在开始,您的所有 PNG 文件都应该没问题。
更新:按照作者或重定向者的建议,将简单的模式匹配替换为更严格的正则表达式匹配。
更新 2: 像 Trac 这样的系统会生成以“.png”结尾的 PNG 附件的 URL,但实际上是 HTML 页面,仅将 PNG 作为页面的一部分嵌入。在这种情况下,我们需要将主机列入黑名单,否则 HTML 页面的内容类型将设置为 image/png,即使它应该保留为 text/html。由于 Redirector 的限制,标头只能被匹配的 URL 和部分替换覆盖,例如只有 png 而不是 x-png,是不可能的,我们需要使用一种相当丑陋的方法,在正则表达式匹配中显式排除某些主机。例如
^https?://(?!([^/]+\.)?(?:trac\.edgewall\.org|freetz\.org)/).*\.png$
将排除包含主机名 trac.edgewall.org 或 freetz.org 的 URL。要导入 Redirector 的完整 JSON 是规则 版本 2:
[{"name":"x-png -> png","match":{"str":"^https?://(?!([^/]+\\.)?(?:trac\\.edgewall\\.org|freetz\\.org)/).*\\.png$","type":0,"modi":true},"sub":{"str":"Content-Type","type":4,"modi":true,"modg":true},"repl":{"str":"image/png","decode":false},"enabled":1}]
两个测试 URL 失败(即显示空的“图像”而不是 HTML 页面)在以前版本的规则中没有列入黑名单,而现在在新规则(包括黑名单)下运行是:
如果您了解一点正则表达式或只是玩玩,添加其他 URL 很容易。
顺便说一句:对于 Trac URL,一个不错的选择是使用通用部分“/attachment/ticket/”来列入黑名单。这样,您可以将全球所有 Trac 安装列入黑名单,而不是固定主机列表。所以这是规则版本 3:
[{"name":"x-png -> png","match":{"str":"^https?://(?!([^/]+)?/attachment/ticket/).*\\.png$","type":0,"modi":true},"sub":{"str":"Content-Type","type":4,"modi":true,"modg":true},"repl":{"str":"image/png","decode":false},"enabled":1}]
更新 3:Chrome 商店中不再提供重定向器,但可以从旧的 Redirector home page 下载历史版本。