Ich baue eine wirklich einfache Cocoa-Anwendung mit WebKit, um eine Flash/Silverlight-Anwendung darin anzuzeigen. Sehr einfach, keine Absicht, selbst ein Browser zu sein.Cocoa/WebKit, mit "window.open()" JavaScript Links Öffnen in einer Instanz von Safari
Bisher habe ich in der Lage gewesen, es zu erhalten grundlegende HTML-Links zu öffnen (<a href="..." />
) in einer neuen Instanz von Safari mit
[[NSWorkspace sharedWorkspace] openURL:[request URL]];
Nun meine Schwierigkeit wird auf einen Link in einer neuen Instanz von Safari zu öffnen, wenn window.open()
wird in JavaScript verwendet. Ich „denken“ (und dies, habe ich den Code zu hacken, und bin nicht sicher, ob ich eigentlich oder nicht) habe ich diese Art von Arbeit durch die WebView der Einstellung policyDelegate
und seine
-webView:decidePolicyForNavigationAction:request:frame:decisionListener:
Delegatmethode Umsetzung . Dies führte jedoch zu unberechenbarem Verhalten.
Also die einfache Frage, was muss ich tun, damit, wenn window.open()
aufgerufen wird, der Link in einer neuen Instanz von Safari geöffnet wird.
Dank
Big Punkt, ich bin normalerweise ein .NET Entwickler, und haben mit Cocoa/WebKit arbeiten für ein paar Tage nur worden.
Ich habe genau das gleiche Problem. Es scheint ein Fehler zu sein, dass 'webView: decidePolicyForNewWindowAction: request: newFrameName: decisionListener' nicht aufgerufen wird. –