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