c# – 如何在我的webbrowser中加载kongregate聊天?

前端之家收集整理的这篇文章主要介绍了c# – 如何在我的webbrowser中加载kongregate聊天?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的程序,我正在尝试将kongregate聊天加载到WebBrowser中,但它无法正常工作……

当我第一次启动时,它导航到一个游戏,然后它给了我4个脚本错误,聊天就在那里说:“加入房间……”.我不认为这是浏览器设置的问题,因为它适用于Internet Explorer.有什么东西搞砸了我的WebBrowser吗?我让它坐在那里几分钟,它仍然无法正常工作.我已将suppressScriptErrors设置为true和false,但仍然无法修复它.

仅供参考:我没有对我的程序做任何不好的事情,比如作弊,或者发送垃圾邮件,或类似的东西,我只是希望网页出现,有时候我希望能够复制东西,所以我放了一些TextBoxes在它的右侧,所以我可以将它粘贴到聊天中,如果我不发布一些东西……

解决方法

This文章解决了您的问题.默认情况下,Visual Studio中的WebBrowser控件似乎以IE7模式启动.这就是为什么你用控件获得javescript错误但不在你的浏览器中.我强烈建议你阅读顶部链接文章.幸运的是,有一个修复.以下代码取自另一个stackoverflow对一个间接解决您的问题的问题的答案. Here是那个链接,这是代码.
string installkey = @"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION";
    string entryLabel = Path.GetFileName(Application.ExecutablePath);
    System.OperatingSystem osInfo = System.Environment.OSVersion;

    string version = osInfo.Version.Major.ToString() + '.' + osInfo.Version.Minor.ToString();
    uint editFlag = (uint)((version == "6.2") ? 0x2710 : 0x2328); // 6.2 = Windows 8 and therefore IE10

    RegistryKey existingSubKey = Registry.LocalMachine.OpenSubKey(installkey,false); // readonly key

    if (existingSubKey == null) {
        existingSubKey = Registry.LocalMachine.CreateSubKey(installkey,RegistryKeyPermissionCheck.Default); // readonly key
    }

    if (existingSubKey.GetValue(entryLabel) == null) {
        existingSubKey = Registry.LocalMachine.OpenSubKey(installkey,true); // writable key
        existingSubKey.SetValue(entryLabel,unchecked((int)editFlag),RegistryValueKind.DWord);
    }

另外,我上面提到的文章说你应该为你的应用程序的VS主机进程创建一个条目,否则它将无法在调试模式下工作.祝你好运,我希望这能解决你的问题!

猜你在找的C#相关文章