11

私の2人の友人は、私が取り組んでいるWebBrowserコントロールの使用に依存するプロジェクトをテストし、WebBrowserコントロールが含まれているWebページでJavaScriptを実行できないという一定のシナリオに遭遇しました。

絞り込むために、WebBrowserコントロールのみを含む新しいWindowsフォームプロジェクトを作成し、次のページに移動しようとしました:http: //javatester.org/javascript.html

私の友達のコンピューターでの結果は以下のとおりです(クリックして拡大):

レンダリングを制御する

ご覧のとおり、JS固有のコードを呼び出そうとしても何もレンダリングされません。あるいは、JSが無効または有効になっているWebブラウザーで表示すると、何かが表示されます。

彼は、有効になっているJavaScriptの設定を含むレジストリキーをエクスポートし(https://gist.github.com/4699943を参照)、各キーの1400の値は、私が使用しているのと同じ設定と一致し、プログラムを実行すると問題ありません。

テストプロジェクト全体のコードは次のとおりです。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Shown(object sender, EventArgs e)
        {
            this.webBrowser1.Navigate("http://javatester.org/javascript.html");
        }
    }
}

4.5フレームワーク(私のマシンまたは彼のマシンのいずれか)を対象とするこのコードを使用して新しいプロジェクトを作成すると機能しますが、4.0以下を使用して作成した場合は上記の結果が発生します。これが偶然なのか、それとも問題や解決策と関係があるのか​​はわかりません。

彼がInternetExplorerでこのページに移動しても問題はなく、JavaScriptが有効になっていることを検出します。この問題は、このテストアプリケーションとそれが含まれるメインプロジェクトにのみ存在することに注意してください。

助けていただければ幸いです。私はこれを理解するために2か月を費やしましたが、まだ理解できません。

4

2 に答える 2

0

私のテストから、.NET 4 の WebBrowser は IE 7.0 の Web ブラウザ エージェント文字列を報告します。したがって、最初に JavaScript が IE7 で正しく動作することを確認してください。

于 2013-07-21T09:56:19.213 に答える
-1

webbrowser control.Document Text プロパティを使用している場合、スクリプトはロードされません。Navigate メソッドで問題ありません。サードパーティから html を取得するときに、ドキュメント テキスト プロパティが機能する必要があります。そこからhtmlファイルを作成し、通常のIEブラウザで開くと、同じhtmlコンテンツが完全に正常に機能します。Web ブラウザー コントロールにはバグがあります。

于 2015-01-14T22:21:24.030 に答える