2011-11-19 10 views
6

Nel mio Objective-C app, io uso questo codice per aprire un sito web nel browser dell'utente:Aperto dell'utente, o passare alla scheda appropriata se il sito è già aperto

 [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"https://blah.com/"]]; 

Questo funziona bene. Tuttavia, c'è un piccolo problema; se l'utente ha già aperto "blah.com" nel suo browser, chiamando questo crea una nuova scheda in modo non corretto.

Sarebbe un'esperienza utente migliore se fosse semplicemente passato alla scheda esistente in questi casi.

C'è un modo per farlo? Nota che vorrei anche passare alla scheda esistente se la scheda è su una sottopagina di "blah.com", come "blah.com/some/page.html".

+0

Eventuali aggiornamenti su questo? – fatuhoku

+0

Mi piacerebbe poterlo fare anche io. –

risposta

0

Non è possibile farlo con -[NSWorkspace openURL:]. Se sai che l'utente sta utilizzando Chrome o Safari, puoi farlo eseguendo alcuni AppleScript.