Я пишу приложение MacRuby (target-c), которое по сути является веб-браузером, который по умолчанию открывает определенный веб-сайт (мой).
Однако я не хочу, чтобы ссылки открывались в WebView. Я бы предпочел, чтобы они открывались в браузере пользователя по умолчанию. Вот код, который у меня есть, но он, кажется, не вызывает метод decidePolicyForNavigation
.
framework "WebKit"
class AppDelegate
attr_accessor :window
def applicationDidFinishLaunching(notification)
load_web_view
end
def load_web_view
web_view = WebView.new
request = NSURLRequest.requestWithURL(NSURL.URLWithString("http://example.com"))
web_view.mainFrame.loadRequest(request)
window.contentView = web_view
web_view.frameLoadDelegate = self
web_view.setPolicyDelegate(self)
end
# this makes it so links open in the default browser
def webView(view, decidePolicyForNavigationAction:actionInformation, request:request, frame:frame, decisionListener:listener)
puts 'running nav policy'
listener.ignore
NSWorkspace.sharedWorkspace.openURL(request.URL)
end
end
Что я делаю не так?