Cacao/WebKit, d'avoir “de la fenêtre.open()” JavaScript liens de l'ouverture d'une instance de Safari

Je suis la construction d'une base de Cacao application utilisant WebKit, pour afficher un Flash/Silverlight application. Très basique, pas l'intention pour que ce soit un navigateur lui-même.

Jusqu'à présent j'ai été en mesure de l'obtenir pour ouvrir la base de liens html (<a href="..." />) dans une nouvelle instance de Safari à l'aide de

[[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 là, j'ai été à bidouiller dans le code et ne suis pas sûr si je le fait ou pas) j'ai eu ce genre de travail par la définition de la WebView est policyDelegate et la mise en œuvre de ses

-webView:decidePolicyForNavigationAction:request:frame:decisionListener:

délégué de la méthode. Cependant, cela conduit à un comportement erratique.

Donc de la simple question, que dois-je faire pour que lorsque window.open() est appelé, le lien est ouvert dans une nouvelle instance de Safari.

Grâce

Gros point, je suis normalement un .NET développeur, et ont travaillé avec le Cacao/WebKit pour quelques jours.

J'ai exactement le même problème. Il semble être un bug qui webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener n'est pas appelé.

OriginalL'auteur FireWire | 2008-11-06