【问题标题】:Change javascript before its executed在执行之前更改 javascript
【发布时间】:2012-06-15 07:41:13
【问题描述】:

我想打开一个网站,更改它的 javascript,然后显示该网站 + 执行我更改的 js。

1) 这可能吗?

2) 这怎么可能? (VB.net、C#、FF + 插件)

提前谢谢

编辑:为了您更好地理解,我只想更改 js 以用于我的浏览器输出!

【问题讨论】:

  • 也许您正在寻找 Greasemonkey。 addons.mozilla.org/en-US/firefox/addon/greasemonkey
  • 已经试过了。我从一个带有greasemonkey的网站上删除了一些js,但js仍然被执行。我认为这是因为在执行原始网站代码后,greasemonkey 应用了我的 js 代码
  • @MichaelStark:你可以设置greasemonkey脚本的执行时间,默认是onDOMready。
  • 您想更改服务器上的输出吗?在向客户发送内容之前?如果是这样并且您使用的是 IIS7+,您可以编写 HTTP 模块并在 PreSendRequestContent 事件中处理它。

标签: c# javascript vb.net firefox


【解决方案1】:

您可以使用Fiddler。这个不错的软件充当了一个 http 代理,并提供了一个可以拦截和转换请求和响应的脚本引擎。在您的情况下,您可以动态替换目标 javascript 内容。

【讨论】:

    【解决方案2】:

    1) 是的,这是可能的。

    2) 我不知道如何通过任何列出的方法进行操作,但一种可行的方法是下载网站的 HTML 和 JavaScript,在您的计算机上对其进行修改,然后设置本地网络服务器为修改后的内容提供服务HTML 和 JavaScript,并且(可选)更改您的主机文件以指示您尝试欺骗的任何域都位于 localhost。如果您有时还想与远程服务器进行交互,您可以在您的网络服务器上设置一个程序,通过从远程服务器(通过 IP 地址)请求页面来响应 404。但是,我目前只知道如何在 PHP 中执行此操作。

    【讨论】:

    • 你能告诉我如何在 php 中做到这一点吗?
    • 简而言之,您将网络服务器(可能通过 .htaccess 文件)设置为将丢失文件的所有请求重定向到单个 index.php,然后在该 index.php 中,您使用 curl 转发对远程服务器的完全相同的请求。当 curl 返回时,您只需将相同的 HTTP 标头发送到客户端,并回显未修改的响应正文。我建议使用 XAMPP,因为它带有预打包的 PHP 和 Apache(使用 .htaccess 文件的网络服务器)。
    • 建议的其他方法似乎更容易,但是 - 这实际上只是证明它是可能的。
    【解决方案3】:

    您可能想看看Opera's userscripts。你可以执行类似

    window.opera.addEventListener("BeforeScript", function onchange(e){
        if(! myURIregexp.test(e.element.src))
            return;
        var script = e.element.text;
        /* do something with the script text, for example replacing */
        ev.element.text = script;
    }, false);
    

    【讨论】:

      【解决方案4】:

      您可以使用 Fidder2。您可以使用 Fidder AutoResponder 将您想要的任何内容更改为本地文件

      【讨论】:

        猜你喜欢
        • 2016-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-27
        • 1970-01-01
        相关资源
        最近更新 更多