是否可以更改在网页上运行客户端的脚本?

dit*_*lav 7 html javascript client-side

所以我在我的笔记本电脑上在线玩游戏,这是一个非常简单的 html5 游戏,但优化并不存在。我的屏幕上有几个圆圈的游戏使用了我 85% 的 CPU。

从逻辑上讲,我开始分析游戏并试图弄清楚是否可以为我的笔记本电脑优化它。现在,我想知道如何运行游戏但使用正在运行的 JS 脚本的调整版本。

如果我尝试保存页面并从我的笔记本电脑上运行它,它当然有 CORS 问题,所以我无法访问服务器。

我可以以某种方式稍微更改在我的浏览器中执行的脚本,但同时仍停留在正在运行的“网页内”,以便我可以正常地向服务器发出 XHR 请求?

另外,虽然这不在问题的标题中,但我能否以某种方式将 XHR 请求代理到我的脚本,同时又不违反 CORS 规则?

如果我从浏览器和桌面上保存的 HTML 运行相同的东西,为什么会如此不同?我有相同的 IP 并且正在做同样的事情,但从 url 来看,它“感觉就像”我正在从其他地方运行它。我可以以某种方式模仿我正在“从网页”运行,而是从修改后的保存的 html 运行它吗?

JSe*_*ser 3

可以代理,因为没有跨域保护机制或某种登录(这使事情变得复杂)。

您最好使用浏览器扩展程序,它允许您添加CSS、HTML 和 JavaScript。

我对扩展并不完全精通,所以我不确定你是否可以修改现有代码,但我猜测如果你可以添加任意 JS 代码,你很可能将包含游戏的脚本标记替换为类似的基于个人修改的脚本在上面。值得一试...

链接到 Chrome 扩展入门

更新:

如果您决定这样做,代理就相当于通过您的应用程序请求 URL,并对页面 (html) 而不是原始源执行某些操作。我假设您想更改页面并将其提供给您的浏览器。

考虑到这一点,您将需要以下内容,我不了解 C#,因此您必须在 google 上搜索库和实用程序:

  • 一种请求URL的方法(请参阅底部的链接)
  • 修改页面的一种方式,需要一个DOM爬虫
  • 一种启动所述进程并通过点击您自己的 URL 将其提供给您的浏览器的方法,这意味着您需要某种Web 服务器

我发现了以下专门关于使用 C# 进行代理的问题