WebBrowserコントロールを内部に持つSilverlightOut-of-Browser(OOB)アプリケーションがあります。内部Webブラウザーに表示されるWebサイトは、アプリケーションのxapファイルとは異なるドメインからのものです。内部ブラウザに表示されるフォームに自動的に入力するにはどうすればよいですか?できればSilverlightまたはJavaScriptを使用して直接。
Silverlightアプリケーションから外部JavaScriptコードを呼び出そうとしました:
webBrowser.InvokeScript ("eval", "document.getElementById('formField1').value = 'value1';" +
"document.getElementById('formField2').value = 'value2';"+
"document.forms[0].submit();");
どうやらSilverlightは、セキュリティ上の理由からこの機能を制限しているようです(クロスサイトスクリプティングだと思います)。
現在ロードされているHTMLで定義されている指定されたスクリプトを実行します。
私のJSコードは現在Webブラウザコントロールに表示されているHTMLにロードされていないため、このアプローチを使用することはできません。
最も明白な解決策は、ターゲットWebサイトを変更してJSコードを含めることです。しかし、私は他のいくつかのオプションを聞きたいです。