私の2人の友人が、WebBrowserコントロールの使用に依存している私が取り組んでいるプロジェクトをテストしており、WebBrowserコントロールができない一定のシナリオに遭遇しました含まれているWebページ上のJavaScriptを実行します。それを絞り込んさのために .NET WebBrowserコントロールでJavaScriptが実行されない
は私だけWebBrowserコントロールを含む新しいWindowsフォームプロジェクトを作成し、次のページに移動しようとします:私の友人の http://javatester.org/javascript.html結果、コンピュータが以下だった(クリック)拡大:JS固有のコードを呼び出すようにしようとしたとき
http://s18.postimage.org/ax5qmw2th/screenshot.jpg
あなたが見ることができるように、それはあなたが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");
}
}
}
新しいプロジェクトがしかし1つが、4.5フレームワーク(私のマシン上または彼のどちらか)それが動作をターゲットにし、このコードを使用して作成された場合4.0以下で作成した場合、上記の結果が発生します。私はこれが偶然であるのか、それが本当に問題/解決策と関係しているのかどうかはわかりません。
Internet Explorerでこのページに移動しても問題はなく、JavaScriptが有効であることが検出された場合、この問題はこのテストアプリケーションとその一部であるメインプロジェクトにのみ存在します。
私はこれを理解しようとして2ヶ月を過ごしましたが、それでも解決できません。
フレームワークのバージョンが問題であるとは思わない。私は3.5でJavaScriptをうまく動作させるプロジェクトを行った。標準の 'WebBrowser'コントロールの他の問題のため、私は多くのプロジェクトでWebKit.net(WebKitはChromeとSafariのレイアウトエンジンです)を使用するように移動しました。それは素晴らしいツールであり、実際に標準コントロールと似ているようにしました。もし私があなたなら私は少なくともそれをチェックするだろう。 [WebKit.net](http://webkitdotnet.sourceforge.net) –
@LeonNewswanger - これは少し話題ですが、以前はWebKitに切り替えることを検討しましたが、プロジェクトの今後の要件のいくつかは、 ObjectForScriptingプロパティを使用してJavaScriptからアセンブリにコールバックすることができます。私はWebKitでそのようなものを見つけることができませんでした。あなたはこれまでWebKitでこれを見つけたことがありますか? – rastating
私は正直に見たことがない、申し訳ありません。私はそれが本当にあなたの答えではないことに気づいています。そういうわけで私はコメントとして投稿しました。あなたの他の要件を知らなかったので、あなたの問題を解決するのに役立つかもしれないと思いました。 –