加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 07:44:48 所属栏目:百科 来源:网络整理
导读:我有一个简单的程序,我正在尝试将kongregate聊天加载到WebBrowser中,但它无法正常工作…… 当我第一次启动时,它导航到一个游戏,然后它给了我4个脚本错误,聊天就在那里说:“加入房间……”.我不认为这是浏览器设置的问题,因为它适用于Internet Explorer.有什
我有一个简单的程序,我正在尝试将kongregate聊天加载到WebBrowser中,但它无法正常工作……

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

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

解决方法

This文章解决了您的问题.默认情况下,Visual Studio中的WebBrowser控件似乎以IE7模式启动.这就是为什么你用控件获得javescript错误但不在你的浏览器中.我强烈建议你阅读顶部链接的文章.幸运的是,有一个修复.以下代码取自另一个stackoverflow对一个间接解决您的问题的问题的答案. Here是那个链接,这是代码.
string installkey = @"SOFTWAREMicrosoftInternet ExplorerMainFeatureControlFEATURE_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主机进程创建一个条目,否则它将无法在调试模式下工作.祝你好运,我希望这能解决你的问题!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读