【发布时间】:2019-05-20 20:04:15
【问题描述】:
如何找到 chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai(隐藏的“Chrome PDF 查看器”)的文件夹?
我需要访问这些文件并更改其 JavaScript,以便在打印 PDF 之前向我发送消息。
【问题讨论】:
标签: javascript google-chrome-extension
如何找到 chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai(隐藏的“Chrome PDF 查看器”)的文件夹?
我需要访问这些文件并更改其 JavaScript,以便在打印 PDF 之前向我发送消息。
【问题讨论】:
标签: javascript google-chrome-extension
它是 Chrome 的一个内部组件;它并不是真正要导航到的物理文件夹,它被编译到 Chrome 自己的文件中(特别是 resources.pak - 谢谢,wOxxOm)。
您可以从 Chromium 源中获取该扩展的源代码,例如https://chromium.googlesource.com/chromium/src.git/+/71.0.3578.98/chrome/browser/resources/pdf - 请注意,这些仍然需要使用 Closure Compiler 进行编译,因此不能按原样用于修改。
但是假设你做修改和编译它。你能安装你的修改版本吗?是的,不是的。
虽然技术上可以通过在清单中显示具有更高 version 和相同 key 的解压缩扩展来覆盖扩展..
..它实际上不会那样工作,因为清单使用提升的“私人”权限..
"permissions": [
"chrome://resources/",
"contentSettings",
"metricsPrivate",
"resourcesPrivate"
],
"content_security_policy": "script-src 'self' blob: filesystem: chrome://resources; object-src * blob: externalfile: file: filesystem: data:; plugin-types application/x-google-chrome-pdf",
..that 不能用于非内部扩展:
因此,如果您真的想要修改内部 PDF 查看器,您需要编译自己的修改版 Chromium,或者至少编译您自己的 resources.pak 版本。可能不是你想做的。
【讨论】:
resources.pak 中重新捆绑修改后的扩展 js,这与编译 chromium 相比相对容易(grit-i18n、ChromePAK、pak_tools)。
resources.pak的信息! @wOxxOm(或添加您自己的)