È possibile utilizzare AppleScript per aprire un collegamento in una nuova scheda in Safari?Apri URL nella nuova scheda Safari con AppleScript
risposta
Questo funziona:
tell application "Safari"
tell window 1
set current tab to (make new tab with properties {URL:"http://www.stackoverflow.com"})
end tell
end tell
Codice:
tell application "System Events"
tell application "Safari" to activate
tell process "Safari"
click menu item "New Tab" of menu "File" of menu bar 1
end tell
end tell
tell application "Safari"
set URL of document 1 to "http://www.stackoverflow.com/"
end tell
Un problema è che questo funziona solo se la lingua del sistema è impostata su inglese.
Questo dovrebbe in genere creare una nuova scheda e mettere a fuoco (o messa a fuoco una scheda esistente se l'URL è già aperto):
tell application "Safari"
open location "http://stackoverflow.com"
activate
end tell
apre una nuova finestra se "Apri pagine in schede invece di finestre" è impostato su mai.
tell application "System Events" to open location
non funziona con alcuni URL che contengono caratteri non ASCII:
set u to "http://ja.wikipedia.org/wiki/漢字"
tell application "System Events" to open location u
--tell application "Safari" to open location u
--do shell script "open " & quoted form of u
questo apre una nuova scheda anche quando nuove pagine sono impostate per aprire in finestre:
tell application "Safari"
activate
reopen
tell (window 1 where (its document is not missing value))
if name of its document is not "Untitled" then set current tab to (make new tab)
set index to 1
end tell
set URL of document 1 to "http://stackoverflow.com"
end tell
tell application "System Events" to tell process "Safari"
perform action "AXRaise" of window 1
end tell
set index to 1
non solleva la finestra, ma fa apparire la finestra come window 1
in Eventi di sistema, che può essere impostata su AXRaise
.
sembra aprire le finestre o le schede in base all'impostazione delle preferenze "Apri pagine in schede anziché in finestre": la nuova scheda crea nuove schede anche se Safari è configurato per aprire sempre Windows. – haa
Perfetto per il mio utilizzo, dal momento che non voglio creare una nuova scheda se quella precedente è ancora aperta. Grazie. –
hi @Lri ho bisogno di aiuto .. il tuo codice funziona solo per me non-ascii, ho provato per ascii ... si apre in una nuova scheda, ma lo voglio nella stessa scheda .. puoi aiutarmi per favore –
Ho utilizzato il seguente script per aprire centinaia di documenti in schede in un'unica finestra.
tell application "Safari"
tell window 1
make new tab with properties {URL:"http://foo.com/bar"}
make new tab with properties {URL:"http://foo.com/baz"}
end tell
end tell
Ma questo non funziona più in Safari 5.1 su Lion. Aprirà la nuova scheda, ma non caricherà l'URL fornito nel glob delle proprietà. Ho modificato al seguito, che ora funziona:
tell application "Safari"
tell window 1
set URL of (make new tab) to "http://foo.com/bar"
set make new tab to "http://foo.com/baz"
end tell
end tell
penso che questo fa anche quello che hai chiesto, ma è molto più breve e meno-browser specifico:
do shell script "open http://www.webpagehere.com"
questo aprirà l'URL specificato nel browser predefinito. E se si vuole esplicitamente per aprirlo in Safari, utilizzare questo:
do shell script "open -a Safari 'http://www.webpagehere.com'"
non posso commentare: -/così mi risponderà a dire che la risposta di Tim (sopra) funziona come di OS X 10.8.5. Funziona anche questa versione a una riga del suo script:
tell window 1 of application "Safari" to set current tab to (make new tab with properties {URL:"http://www.stackoverflow.com"})
Arrgh - la prima riga è piena. Qui è senza il codice tag:
finestra raccontano 1 di applicazione "Safari" per impostare scheda corrente a (fare nuova scheda con le proprietà {URL: "http://www.stackoverflow.com"})
ho finito per usare Automator per fare questo è stato molto più semplice e funziona.
È passato un po 'di tempo da quando è stata pubblicata una nuova risposta. Penso che questo sia il modo ottimale per farlo. Aprirà Safari se non è aperto, crea una nuova finestra se non ci sono finestre aperte e aggiunge la scheda alla finestra corrente (o appena creata).
tell application "Safari"
activate
try
tell window 1 to set current tab to make new tab with properties {URL:theURL}
on error
open location theURL
end try
end tell
Si può provare seguente approccio:
anche u può combinare l'utilizzo di AppleScript all'interno FastScript (gratuito per 10 scorciatoia)
Per aggiungere lo script - semplicemente salvare lo script in /Library/Scripts
. Dopo sarai in grado di impostare qualche scorciatoia per il nuovo script.
Se si desidera aprire nuove finestre di nuova scheda u può giocare entro il prossimo:
tell application "System Events"
tell process "Safari"
click menu item "New window" of menu "File" of menu bar 1
end tell
end tell
Nota: è necessario consentire AppleScript per utilizzare specialCapabilities nelle impostazioni di protezione in questo caso.
Per favore aggiungere spiegazioni alla tua risposta. –
@ ADreNaLiNe-DJ si prega di controllare gli aggiornamenti – gbk
non è la soluzione più breve, ma anche funziona, e non solo in inglese ...
tell application "Safari"
activate
end tell
tell application "System Events"
set frontmost of process "Safari" to true
keystroke "t" using {command down}
end tell
set myURL to "anyurl.html"
delay 2
tell application "Safari" to set the URL of the front document to myURL
IMO questo in realtà non introduce alcun nuovo valore. –
ha lavorato per me in Safari v.11
tell application "Safari"
tell window 1
make new tab with properties {URL:"https://twitter.com"}
end tell
end tell
- 1. AngularJs - Apri l'url nella nuova scheda
- 2. GVim: Apri in una nuova scheda
- 3. Scarica file, apri nuova scheda nel browser
- 4. javascript window.location nella nuova scheda
- 5. Estensione Chrome: apri la schermata catturata in una nuova scheda
- 6. Rails: Apri link in una nuova scheda (con 'link_to')
- 7. Windows Phone 8: Apri collegamento in una nuova scheda
- 8. Apri URL nel browser/scheda esistente in java
- 9. Come rintracciare il traffico "Apri nuova scheda" in Google Analytics
- 10. Javascript - Apri il link in una nuova scheda (SAME WINDOW)
- 11. Apri URL con PHP
- 12. Javascript: Apri PDF in una nuova scheda dall'array di byte
- 13. Agganciare "Apri in una nuova scheda" e "Indietro"
- 14. Apri una nuova scheda/finestra e scrivici qualcosa?
- 15. Apri URL nel profilo Firefox già aperto
- 16. Un'estensione Safari può reagire alla creazione di una nuova scheda?
- 17. Rileva lo spostamento in una nuova scheda in Mobile Safari
- 18. Apri nuova finestra sul postback
- 19. Distinguere il collegamento aperto nella scheda corrente rispetto alla nuova scheda
- 20. Apri Safari con l'URL da linea di comando e ottenere handle di processo
- 21. Come aprire l'url dei crediti di highcharts nella nuova scheda
- 22. Apri URL in Webview - PhoneGap
- 23. apre un collegamento in una nuova scheda nella stessa finestra
- 24. Apertura di un URL in una nuova scheda
- 25. Aprire una nuova scheda con javascript ma rimanere nella scheda corrente utilizzando javascript
- 26. Apertura di schede JQuery con URL e aggiunta di un hash a URL nella scheda clic
- 27. Schema URL "Apri Impostazioni" ios
- 28. Apri l'url di Facebook in Safari anziché nell'app nativa
- 29. Apri nuova istanza di Excel 2010 con ogni file
- 30. Come consentire 'Apri in una nuova scheda' quando si usa ng-clic?
non funziona in 5,1, [AppleScript - Script Safari 5.1 per aprire una scheda - Stack Overflow] (http://stackoverflow.com/questions/6941630/script-safari-5-1-to-open-a-tab) – user495470
@Lri: Non funziona in 6.0 entrambi; dato il supporto semi-abbandonato di AppleScript anche nelle applicazioni Apple, l'out-sourcing del task con un comando shell usando l'utility 'open' è l'approccio più affidabile: ' do shell script "open -a \" Safari \ "\" "&" http://stackoverflow.com "&" \ "" ' – mklement0
Funziona perfettamente con Safari 9.1.2. È possibile aprire sempre una nuova finestra piuttosto che aggiungere la scheda nella finestra esistente? La posizione aperta –