13

アプリケーションに埋め込んWebViewで html ページを読み込む場合、JavaScripts alert()/ confirm()/etc. 動作しない。

ドキュメントを見回すと、関連する設定はありませんWebPreferences-関連しているように見えるのはWebUIDelegates-(void)webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:などだけです...しかし、これらを実装すると、これらのカスタムダイアログを作成することになり、かなり冗長に見えます...カスタムは必要あり
ませんWebUIDelegateデフォルトのものだけを使い続けたいと思っています。

alert()確かに、他を簡単に有効にする方法が必要ですが、どうすればよいでしょうか?

4

2 に答える 2

12

以下は、基本的な作業を行うサンプル コードです。ただし、このオブジェクトが WebView の UIDelegate として登録されていることを確認する必要があります。

- (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame {
    NSAlert *alert = [[NSAlert alloc] init];
    [alert addButtonWithTitle:@"OK"];
    [alert setMessageText:message];
    [alert runModal];
    [alert release];
}
于 2011-09-01T09:10:29.430 に答える
5

結局のところ、デフォルトのWebUIDelegateセットはまったくありません。Appleは、誰もが同じ基本機能を自分たちで実装することを期待しているようです。

于 2010-01-20T21:17:03.843 に答える