4

WebView で Web ページをホストする Windows 8 アプリケーションを C# と XAML で作成しています。Web ページは alert() と confirm() を呼び出しますが、WebView は「'alert' が定義されていません」または「'confirm' が定義されていません」という例外をスローします。alert() と confirm() を有効にすることはできますか、それとも通常の機能をエミュレートするコードを書く必要がありますか? また、それらを自分で作成する必要がある場合、どのようにそのような仕事を始めればよいでしょうか? ありがとうございました。

4

3 に答える 3

5

Alert と Confirm は WebView からは機能しません。WebView.ScriptNotifyを使用して、ページ上のスクリプトからイベントを受け取り、そのイベントを使用して、MessageDialog クラスを使用してダイアログ ボックスを表示できます。

アラートが必要なスクリプトで...

window.external.notify('foo');

そして、C# の WebView.ScriptNotify メソッドの例を使用してください。

于 2012-08-08T16:16:41.573 に答える
3

いくつかの回避策を実行する必要があります。私はこれをしました、そしてそれは私のために働きました。

       window.alert = function(__msg){window.external.notify(' + __msg + ');};

ここでWindows Phoneに関する私の同様の質問を参照してください

于 2012-11-22T09:14:25.077 に答える
2

それらを有効にするには、コードを記述する必要があります。これは、XAML だけでなく HTML5 Win8 アプリにも当てはまることに注意してください。

WinRT にアクセスできるスクリプトの場合、Windows.UI.Popup.MessageDialog を使用できます。

(new Windows.UI.Popup.MessageDialog("Hello!", "Welcome")).showAsync().done(dismissedHandler)

これらは非同期であり、実行をブロックしないことに注意してください。

ユーザーから情報を取得する場合 (ユーザーからのテキスト入力など) には、標準的なものは何もなく、そのための新しいマークアップ セットを作成する必要があります。

于 2012-08-08T16:15:55.430 に答える