7

私は単純なプログラムを持っていて、kongregate チャットを にロードしようとしていますが、機能してWebBrowserいません...

最初に起動すると、ゲームに移動し、その後 4が表示Script Errorされ、チャットは「部屋に参加しています...」と言ってそこに座っています。Internet Explorerで動作するので、ブラウザの設定に問題はないと思います。私のと台無しになっているものはありWebBrowserますか?そこに数分間放置しましたが、まだ機能しません。suppressScriptErrors を true と false に設定しましたが、それでも修正されません。

参考までに: 私は不正行為やスパム行為など、自分のプログラムで悪いことをしているわけではありません。ただ Web ページを表示させたいだけで、時にはコピーしたいことがありますTextBoxes。その権利があるので、チャットに貼り付けることができます。いくつか投稿しない場合は...

4

1 に答える 1

-1

この記事には、問題の解決策があります。Visual Studio の WebBrowser コントロールは、デフォルトで IE7 モードで起動するようです。そのため、ブラウザではなく、コントロールで javascript エラーが発生します。トップにリンクされている記事を読むことを強くお勧めします。幸いなことに、修正があります。次のコードは、問題に間接的に対処する質問に対する別のスタックオーバーフローの回答から取得したものです。これがそのリンクで、これがコードです。

    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 ホスト プロセスのエントリも作成する必要があると書かれています。そうしないと、デバッグ モードでは機能しません。頑張ってください。これで問題が解決することを願っています。

于 2013-12-17T05:30:17.483 に答える