gpt4 book ai didi

javascript - 防止浏览器控制从特定域加载 javascript

转载 作者:行者123 更新时间:2023-12-02 16:14:59 24 4
gpt4 key购买 nike

我正在将 html 页面加载到 C# webbrowser 对象中。 html 页面中的 script 标记之间有一些远程 javascript 文件的链接。其中之一有许多错误,我无法纠正,因为我无法更改 JavaScript。由于不需要它,我宁愿禁用它。

我想阻止网络浏览器从特定域加载任何 javascript,或者只是让浏览器返回该 javascript 文件的“404”。这可以在 Fiddler 中使用自动回复器来完成。

有没有办法在C#中做到这一点?就像一个迷你代理转发除 *.domainwitherrors.com 之外的所有请求?如果不行,有没有办法在C#中直接使用Fiddler?

在 Web 浏览器中捕获“导航”事件不会在 JavaScript 加载到 DOM 之前捕获它。

   webBrowser1.Navigate("http://www.somedomain.com");
webBrowser1.Navigating += webBrowser1_Navigating;

void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
if (e.Url.ToString().Contains("domainwitherrors"))
{
return;
}

}

最佳答案

不,WebBrowser 控件不提供任何允许您阻止仅从一个域进行子下载的请求过滤机制。您可以使用 IE 的工具 > Internet 选项 > 将域添加到您的受限站点区域(这将阻止其在系统上每个基于 IE 的浏览器中运行脚本的能力)安全选项卡。

FiddlerCore是一个 .NET 类库,可以嵌入到应用程序中以提供您所描述的功能类型。您甚至可以使用它公开的 URLMonInterop.SetProxyInProcess API,以便只有您的应用程序(而不是整个系统)通过代理路由其流量。

关于javascript - 防止浏览器控制从特定域加载 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29763137/

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