gpt4 book ai didi

javascript - 使用 Greasemonkey 或用户脚本将远程 JavaScript 文件替换为本地调试副本

转载 作者:IT王子 更新时间:2023-10-29 03:16:01 26 4
gpt4 key购买 nike

在调试使用 Google 后端的客户端应用程序时,我添加了一些函数的调试版本,并使用 Chrome 开发者工具脚本编辑器将它们插入。

但是这种方法有很多局限性,首先是编辑器似乎并不总是处理去缩小文件,当 JS 文件长 35K 行时,这是一个问题。

另一个问题是所有在加载期间完成的初始化都使用原始的“未修补”函数,因此这并不理想。

我想用我自己的本地副本替换远程 javascript.js 文件,大概在文件名上使用一些正则表达式,或者任何合适的策略,我很乐意使用 Firefox 或Chrome,如果一个比另一个更容易的话。

最佳答案

基本上,正如@BrockAdams 指出的那样,根据需求,这些类型的问题有几种解决方案,它们遵循两种方法中的一种。

  1. 浏览器 API 开关。
  2. 基于代理的拦截干扰。

浏览器 API 切换器。firefox 和 chrome 都支持浏览器扩展,它们可以利用特定于平台的 API 分别为 firefox 和 chrome 的“onbeforeload”或“onBeforeRequest”注册事件处理程序。 chrome API 目前处于实验阶段,因此这些工具可能会在 firefox 下得到更好的开发。AdBlock plus 两个绝对可以完成所需功能的工具和 Jsdeminifier两者都有可用的源代码。

这两个 firefox 应用程序的关键点在于,它们浏览器获取 Web 请求之前拦截它并在 http/https 加密阶段的另一端运行,因此可以看到解密的响应,但是在 the other post 中标识他们并没有完成全部工作,虽然 jsdeminifier 非常有用,但我没有找到一个 firefox 插件来做我想要的,但我可以从那些以前的插件中看到,两者都是可能的火狐和 Chrome 。尽管他们实际上并没有按照要求进行操作。

基于代理的拦截迷惑 这绝对是纯 HTTP 环境中更好的选择,有一大堆代理,例如 pivoxy,fiddler2 、Charles Web HTTP 代理,可能还有一些我没有特别关注的东西,例如支持某种过滤的 snort。

对我来说最简单的解决方案是 firefox 上的 foxyproxy 和 privoxy,并配置一个 user.action 和 user.filter 来检测页面的 url,然后为我自己应用一个换掉原始 src 标签的过滤器一个。

https 案例。代理与插件当请求是 https 时,代理看不到请求 url 或响应正文,因此它无法执行很酷的交换操作。但是,对于那些喜欢弄乱浏览器的人来说,有一个选项可用。这就是中间人 SSL 代理。 Charles Web HTTP proxy似乎是解决这个问题的主要方法。基本上它的工作方式是当你的浏览器向远程 HTTPS 服务器发出请求时,ssl 代理拦截请求并从服务器的 ip 地址动态生成一个服务器证书,它用自己的根 CA 签名,并发送回浏览器。浏览器显然提示自签名证书,但在这里您可以选择将 ssl 代理根 CA 证书安装到浏览器中,使浏览器感到困惑,并允许 ssl 代理在中间进行操作,并对原始响应进行替换和过滤 body 。

替代滚动您自己的 chrome 扩展我决定继续滚动我自己的 chrome 扩展,我计划提供它。目前它处于我自己的需求状态的硬编码状态,但它工作得很好,即使对于 https 请求也是如此,另一个好处是浏览器插件解决方案可以与浏览器开发人员工具更紧密地集成。

关于javascript - 使用 Greasemonkey 或用户脚本将远程 JavaScript 文件替换为本地调试副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7782069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com