JavaScript alert() not working in embedded WebView

cocoa, macos, objective-c, webview

Solution

It turns out there is simply no default `WebUIDelegate` set - Apple seems to expect everyone to implement the same basic features for themselves.

Problem

When embedding `WebView` in an application and loading html-pages in it, JavaScripts `alert()`/`confirm()`/etc. do not work. Looking around in the documentation, there are no related settings in `WebPreferences` - the only thing that looks related are `WebUIDelegate`s `-(void)webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:` etc ... but implementing these would mean writing custom dialogs for these which seems pretty redundant... I don't need a custom `WebUIDelegate` and would like to continue just using the default one. Surely there has to be some way to simply enable `alert()` et al, but how?

Original source