Je construis une application Cocoa vraiment basique en utilisant WebKit, pour y afficher une application Flash/Silverlight. Très basique, aucune intention pour que ce soit un navigateur lui-même.Cocoa/WebKit, ayant "windows.open()" liens JavaScript ouverture dans une instance de Safari
Jusqu'à présent, j'ai pu l'obtenir pour ouvrir les liens html de base (<a href="..." />
) dans une nouvelle instance de Safari en utilisant
[[NSWorkspace sharedWorkspace] openURL:[request URL]];
Maintenant, ma difficulté est l'ouverture d'un lien dans une nouvelle instance de Safari lorsque window.open()
est utilisé en JavaScript. Je « pense » (et par cela, je suis bidouiller le code et je suis pas sûr si je réellement fait ou non) Je suis arrivé ce genre de travail en fixant policyDelegate
de la WebView et mettre en œuvre son
-webView:decidePolicyForNavigationAction:request:frame:decisionListener:
méthode déléguée . Cependant, cela a conduit à un comportement erratique.
Donc la simple question, que dois-je faire pour que lorsque window.open()
est appelée, le lien est ouvert dans une nouvelle instance de Safari.
Merci
Point Big, je suis normalement un développeur .NET, et ont seulement travaillé avec Cocoa/WebKit pendant quelques jours.
J'ai exactement le même problème. Cela semble être un bug que 'webView: decisionPolicyForNewWindowAction: request: newFrameName: decisionListener' n'est pas appelé. –