是否可以在网页上更改脚本 运行 客户端?
Is it possible to change script running clientside on a webpage?
所以我正在我的笔记本电脑上玩在线游戏,这是一个非常简单的 html5 游戏,但优化是不存在的。屏幕上有几个圆圈的游戏使用了我 85% 的 cpu。
从逻辑上讲,我开始分析游戏并试图弄清楚是否可以针对我的笔记本电脑对其进行优化。现在,我想知道我如何 运行 游戏,但使用 运行ning.
的 JS 脚本的调整版本
如果我尝试保存页面并从我的笔记本电脑 运行 它当然有 CORS 问题所以我无法访问服务器。
我能否以某种方式稍微更改在我的浏览器中执行的脚本,同时仍然保持 "inside the webpage",即 运行ning,以便我可以正常向服务器发出 XHR 请求?
此外,虽然这不在问题的标题中,但我能否以某种方式将 XHR 请求代理到我的脚本,同时又不违反 CORS 规则?
如果我从浏览器和桌面上保存的 HTML 运行 同样的东西,为什么会如此不同?我有相同的 IP 并且正在做同样的事情,但是从 url 它 "feels like" 我是从其他地方 运行 宁它。我能以某种方式模仿我 运行ning "from the webpage" 而是 运行 它来自修改后的保存 html?
你可以代理,因为没有跨域保护机制或某种登录方式(这使事情变得复杂)。
你最好做的是使用浏览器扩展程序,它允许你添加 CSS、HTML 和JavaScript。
我对扩展并不完全精通,所以我不确定您是否可以 修改 现有代码,但我猜如果您可以 添加 任意 JS 代码你很可能将包含游戏的脚本标签替换为基于它的类似的个人修改脚本。值得一试...
Link to getting started with chrome extensions
更新:
如果您打算这样做,那么代理相当于通过您的应用程序请求 URL 并对页面 (html) 而不是原始来源进行处理。我假设您想更改页面并将其提供给您的浏览器。
考虑到这一点,您将需要以下内容,我不懂 C#,因此您必须 google 寻找库和实用程序:
- 一种请求URL的方法(见底部的link)
- 一种修改页面的方式,需要一个DOM爬虫
- 一种启动所述进程并通过点击你自己的 URL 将其提供给你的浏览器的方法,这意味着你需要某种 网络服务器
I found the following question specifically on proxying with C#
所以我正在我的笔记本电脑上玩在线游戏,这是一个非常简单的 html5 游戏,但优化是不存在的。屏幕上有几个圆圈的游戏使用了我 85% 的 cpu。
从逻辑上讲,我开始分析游戏并试图弄清楚是否可以针对我的笔记本电脑对其进行优化。现在,我想知道我如何 运行 游戏,但使用 运行ning.
的 JS 脚本的调整版本如果我尝试保存页面并从我的笔记本电脑 运行 它当然有 CORS 问题所以我无法访问服务器。
我能否以某种方式稍微更改在我的浏览器中执行的脚本,同时仍然保持 "inside the webpage",即 运行ning,以便我可以正常向服务器发出 XHR 请求?
此外,虽然这不在问题的标题中,但我能否以某种方式将 XHR 请求代理到我的脚本,同时又不违反 CORS 规则?
如果我从浏览器和桌面上保存的 HTML 运行 同样的东西,为什么会如此不同?我有相同的 IP 并且正在做同样的事情,但是从 url 它 "feels like" 我是从其他地方 运行 宁它。我能以某种方式模仿我 运行ning "from the webpage" 而是 运行 它来自修改后的保存 html?
你可以代理,因为没有跨域保护机制或某种登录方式(这使事情变得复杂)。
你最好做的是使用浏览器扩展程序,它允许你添加 CSS、HTML 和JavaScript。
我对扩展并不完全精通,所以我不确定您是否可以 修改 现有代码,但我猜如果您可以 添加 任意 JS 代码你很可能将包含游戏的脚本标签替换为基于它的类似的个人修改脚本。值得一试...
Link to getting started with chrome extensions
更新:
如果您打算这样做,那么代理相当于通过您的应用程序请求 URL 并对页面 (html) 而不是原始来源进行处理。我假设您想更改页面并将其提供给您的浏览器。
考虑到这一点,您将需要以下内容,我不懂 C#,因此您必须 google 寻找库和实用程序:
- 一种请求URL的方法(见底部的link)
- 一种修改页面的方式,需要一个DOM爬虫
- 一种启动所述进程并通过点击你自己的 URL 将其提供给你的浏览器的方法,这意味着你需要某种 网络服务器
I found the following question specifically on proxying with C#