javascript - 如何将 JavaScript 注入匿名作用域
问题描述
我看到了Inject javascript code into anonymous function scope的问题,但那里的答案似乎根本不理解,所以我提出了一个新问题,以澄清此事。
假设网站上有一些代码,例如:
(function() {
function method() {
//do some secret stuff
}
})();
而且我无法访问源代码;假设我想制作某种能够访问“方法”的插件或扩展。这应该怎么做?
我知道,一般来说,这是一个匿名函数表达式,因此其作用域的内容是隐藏的,但例如,通过 chrome 扩展,它可以在页面加载之前将 JavaScript 代码注入页面。这样注入的代码是否能够以某种方式更改源代码本身,在匿名函数内部添加全局引用到方法?例如,在前面的代码之前执行的操作是修改 script 标签的 innerHTML?
或者也许制作一个新的浏览器,使用 V8 的修改版本,允许访问匿名功能,并在线托管该浏览器并使用 NodeJS 控制它,并在客户端浏览网站,纯粹通过服务器的镜头 -侧修改JavaScript引擎浏览器?也许还有另一种方法?
如果脚本不是内联在页面上,而是指向另一个包含匿名函数的文件的链接,例如该链接的 HTTP 引用,指向自己的服务器,它将处理 JavaScript 代码并将全局变量引用插入到匿名函数的底部,还是完全删除匿名函数?
例如,使用 chrome 扩展,可以重定向 HTTP 请求。因此,只需将原始 URL 作为 GET 请求附加到您的服务器,以上内容变为 ? 有没有更好的办法?
解决方案
推荐阅读
- pandas - 使用除午夜以外的其他开始时间分组日期
- python - How to subset a teradata table in Python
- symfony - Sulu CMS:如何配置搜索,同时考虑阻止内容
- cmake - Is it possible to use CMake find_package with a version with not only numbers?
- php - 教义实体管理器使用错误的连接
- wordpress - 哪个更快:通过 repo 加载图像,还是通过 WordPress 中的 ACF/媒体库加载?
- c - Can someone explain what does the interrupt "Trap" do in the micro controller
- android - How to boot a Qualcomm Snapdragon without HDMI
- python - Allowing access to USB port in Dockerfile?
- recursion - 无法理解这个树递归问题