C# 如何在我的网络浏览器中加载kongregate聊天?

C# 如何在我的网络浏览器中加载kongregate聊天?,c#,winforms,browser,C#,Winforms,Browser,我有一个简单的程序,我正在尝试将kongregate聊天加载到网络浏览器,但它不起作用 当我第一次启动它时,它会导航到一个游戏,然后它会给我4个脚本错误,聊天室就在那里说:“加入房间…”。我不认为浏览器设置有问题,因为它可以在internet explorer上工作。我的WebBrowser有什么问题吗?我已经让它在那里呆了几分钟,但它仍然不起作用。我已经将suppressScriptErrors设置为true和false,但它仍然无法修复它 仅供参考:我没有对我的程序做任何不好的事情,比如作弊

我有一个简单的程序,我正在尝试将kongregate聊天加载到
网络浏览器
,但它不起作用

当我第一次启动它时,它会导航到一个游戏,然后它会给我4个
脚本错误
,聊天室就在那里说:“加入房间…”。我不认为浏览器设置有问题,因为它可以在internet explorer上工作。我的
WebBrowser
有什么问题吗?我已经让它在那里呆了几分钟,但它仍然不起作用。我已经将suppressScriptErrors设置为true和false,但它仍然无法修复它

仅供参考:我没有对我的程序做任何不好的事情,比如作弊、垃圾邮件或诸如此类的事情,我只是想让网页显示出来,有时我想让人复制一些东西,所以我在它的右边放了一些
文本框
,这样我就可以将它粘贴到聊天中,如果我不想发布一些东西…

这篇文章有解决您问题的方法。VisualStudio中的WebBrowser控件似乎在默认情况下以IE7模式启动。这就是为什么控件会出现javescript错误,但浏览器中不会出现。我强烈建议你阅读链接到顶部的文章。幸运的是,有一个解决方案。以下代码取自对间接解决您的问题的另一个stackoverflow答案。就是那个链接,这是代码

    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主机进程条目,否则它在调试模式下无法工作。祝你好运,我希望这能解决你的问题

我不知道Kongregate的内部结构,但可能是WebBrowser不接受Cookie,而IE接受Cookie,并且Cookie对聊天非常重要吗?我想他们会,但我不确定他们是否接受。有没有办法在
WebBrowser
中接受cookies?再看一眼,WebBrowser组件似乎实际上正在生成一个IE进程,因此它的行为应该是一样的。很抱歉,我对这里发生的事情很好奇:你是如何访问聊天室的?一些代码会有帮助的。请出示一些代码。除非我们知道是什么导致了错误,否则(几乎)任何人都无法帮助您。我输入了代码,但它给了我很多错误。代码到底应该放在哪里?另外,我使用的是Windows7,而不是8,那么版本应该是什么呢?你可以把它放在主窗体的构造函数中。此外,现有的代码涵盖了IE9和IE10,因此您应该可以保持原样。顺便说一句,这不是我的代码,我只是从第二个链接处理它。这似乎解决了很多人的问题。此外,一旦您将其放入,请使用WebBrowser.ScriptErrorsSuppressed=true,因为这可能也是在浏览器属性中设置的。这就是我的代码。它给了我很多错误,怎么了?它仍然给我错误。