首页 >后端开发 >C++ >为什么我的C#WebBrowser控件挂在Ajax调用上,我该如何修复?

为什么我的C#WebBrowser控件挂在Ajax调用上,我该如何修复?

Linda Hamilton
Linda Hamilton原创
2025-01-30 20:33:13794浏览

Why is my C# WebBrowser Control Hanging on AJAX Calls, and How Can I Fix It?

在C#的WebBrowser Control

中,对AJAX问题进行故障排除 > C#

有时会在Ajax呼叫中挣扎,导致令人沮丧的“您的请求正在处理”。这种行为与完整的IE浏览器显着不同,该浏览器通常会无问题处理这些调用。

>解决方案通常在于配置特征控件,以更好地使WebBrowser功能可确保改进的脚本兼容性。

>

这是一个修改注册表设置的函数:WebBrowser> "FEATURE_BROWSER_EMULATION"

此功能在

>中使用:

>
<code class="language-csharp">private void SetBrowserFeatureControlKey(string feature, string appName, uint value)
{
    using (var key = Registry.CurrentUser.CreateSubKey(
        String.Concat(@"Software\Microsoft\Internet Explorer\Main\FeatureControl\", feature), 
        RegistryKeyPermissionCheck.ReadWriteSubTree))
    {
        key.SetValue(appName, (UInt32)value, RegistryValueKind.DWord);
    }
}</code>

为了确保在SetBrowserFeatureControl()控制初始化之前应用这些更改,请在主体的构造函数中调用

<code class="language-csharp">private void SetBrowserFeatureControl()
{
    // Avoid modifying settings in the Visual Studio debugger
    var fileName = System.IO.Path.GetFileName(Process.GetCurrentProcess().MainModule.FileName);
    if (String.Compare(fileName, "devenv.exe", true) == 0 || String.Compare(fileName, "XDesProc.exe", true) == 0) 
        return;

    // Register necessary features (see detailed explanation below for a comprehensive list)
    // ...
}</code>

>有关推荐的功能控制设置的完整列表以解决各种兼容性问题,请参阅此资源:WebBrowser浏览器功能控制密钥设置SetBrowserFeatureControl()>这将为>提供更强大的解决方案🎜>控制。

以上是为什么我的C#WebBrowser控件挂在Ajax调用上,我该如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn