Est-il possible d'utiliser AppleScript pour ouvrir un lien dans un nouvel onglet dans Safari?Ouvrir l'URL dans le nouvel onglet Safari avec AppleScript
Répondre
Cela fonctionne:
tell application "Safari"
tell window 1
set current tab to (make new tab with properties {URL:"http://www.stackoverflow.com"})
end tell
end tell
code:
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 problème est que cela ne fonctionne que si la langue du système est l'anglais.
Cela devrait généralement créer un nouvel onglet et se concentrer (ou concentrer un onglet existant si l'URL est déjà ouvert):
tell application "Safari"
open location "http://stackoverflow.com"
activate
end tell
Il ouvre une nouvelle fenêtre si "Ouvrir les pages dans les onglets au lieu de Windows" est défini à jamais.
tell application "System Events" to open location
ne fonctionne pas avec certaines URL qui contiennent des caractères 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
Cela ouvre un nouvel onglet, même lorsque de nouvelles pages sont mis à ouvrir dans les fenêtres:
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
ne soulève pas la fenêtre, mais il fait apparaître la fenêtre comme window 1
aux événements système, qui peut AXRaise
il.
L'emplacement ouvert semble ouvrir les fenêtres ou les onglets en fonction du paramètre de préférence "Ouvrir les pages dans les onglets au lieu des fenêtres". La nouvelle version de l'onglet crée des onglets même si Safari est configuré pour toujours ouvrir Windows. – haa
Parfait pour mon usage, puisque je ne veux pas qu'il crée un nouvel onglet si le précédent est toujours ouvert. Je vous remercie. –
hi @Lri j'ai besoin d'aide .. votre code fonctionne pour moi seulement pour non-ascii, j'ai essayé pour ascii ... il ouvre dans un nouvel onglet, mais je le veux dans le même onglet .. pouvez-vous s'il vous plaît aider –
J'ai utilisé le script suivant pour ouvrir des centaines de documents dans des onglets dans une seule fenêtre.
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
Mais cela ne fonctionne plus dans Safari 5.1 sur Lion. Cela ouvrirait le nouvel onglet, mais ne chargerait pas l'URL fournie dans les propriétés glob. Je l'ai modifié à ce qui suit, qui fonctionne maintenant:
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
Je pense que cela fait aussi ce que vous avez demandé, mais il est beaucoup plus courte et moins spécifique au navigateur:
do shell script "open http://www.webpagehere.com"
Cela ouvrira l'URL spécifiée dans votre navigateur par défaut. Et si vous voulez explicitement l'ouvrir dans Safari, utilisez ceci:
do shell script "open -a Safari 'http://www.webpagehere.com'"
Je ne peux pas commenter: -/je vais donc répondre à dire que la réponse de Tim (ci-dessus) fonctionne comme de Mac OS X 10.8.5. Cette version d'une ligne de son script fonctionne aussi:
tell window 1 of application "Safari" to set current tab to (make new tab with properties {URL:"http://www.stackoverflow.com"})
Arrgh - la ligne une déborde. Ici, il est sans les balises de code:
fenêtre tell 1 d'application « Safari » pour définir l'onglet courant (faire un nouvel onglet avec des propriétés {URL: « http://www.stackoverflow.com »})
Je fini par utiliser Automator pour faire ce qui était beaucoup plus facile et cela fonctionne.
Cela fait un moment qu'une nouvelle réponse a été postée ici. Je pense que c'est la façon optimale de le faire. Il ouvrira Safari s'il n'est pas ouvert, créera une nouvelle fenêtre s'il n'y a pas de fenêtre ouverte, et ajoutera l'onglet à la fenêtre courante (ou nouvellement créée).
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
Vous pouvez essayer l'approche suivante:
également u peut combiner l'utilisation de scripts Apple dans les FastScript (gratuit pour les 10 raccourcis)
Pour ajouter votre script - juste Enregistrer le script dans /Library/Scripts
. Après vous serez en mesure de définir un raccourci pour le nouveau script.
Si vous voulez ouvrir une nouvelle fenêtre de nouvel onglet u peut jouer au sein suivant:
tell application "System Events"
tell process "Safari"
click menu item "New window" of menu "File" of menu bar 1
end tell
end tell
Note: vous devez autoriser AppleScript à utiliser specialCapabilities dans les paramètres de sécurité dans ce cas.
S'il vous plaît ajouter des explications à votre réponse. –
@ ADreNaLiNe-DJ s'il vous plaît vérifier les mises à jour – gbk
Pas la plus courte solution, mais fonctionne également, et non seulement en anglais ...
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 cela n'introduit vraiment aucune nouvelle valeur. –
a marché pour moi dans Safari v.11
tell application "Safari"
tell window 1
make new tab with properties {URL:"https://twitter.com"}
end tell
end tell
- 1. Ouvrir un nouvel onglet
- 2. Implémenter ouvrir un nouvel onglet
- 3. Ouvrir un nouvel onglet dans IE
- 4. GVim: Ouvrir dans un nouvel onglet
- 5. Comment ouvrir un nouvel onglet du navigateur?
- 6. Comment piéger "ouvrir dans un nouvel onglet" clique dans jquery.click
- 7. Ouvrir les liens dans un nouvel onglet dans Firefox
- 8. Afficher une page dans Firefox sans ouvrir un nouvel onglet
- 9. HTML dans un nouvel onglet
- 10. comment ouvrir les liens externes dans un nouvel onglet
- 11. Comment ouvrir asp: HyperLink.NavigationUrl dans un nouvel onglet
- 12. Ouvrir le fichier complexe: // uri dans le nouvel onglet Firefox sous OS X
- 13. WPF TabControl avec le bouton 'nouvel onglet'?
- 14. Ouvrir le fichier MS Office avec AppleScript
- 15. Télécharger Applescript & ouvrir le lien
- 16. ouvrir le lien dans un nouvel onglet pour le ImageButton dans asp.net
- 17. Comment ouvrir une page différente selon que l'utilisateur sélectionne ouvrir dans un nouvel onglet ou non
- 18. Comment ouvrir le lien vers le fichier pdf dans un nouvel onglet en utilisant html
- 19. Ouvrir l'URL dans Safari
- 20. Session débogueur Netbeans: ouvrir dans le même onglet
- 21. Besoin d'ouvrir les liens dans un nouvel onglet dans IE8!
- 22. Comment faire pour ouvrir les fichiers ouverts FuzzyFinder dans un nouvel onglet graphique dans MacVim?
- 23. Comment ouvrir un dossier dans Textmate avec Applescript?
- 24. nouvel onglet dans la fenêtre Safari du pont Cocoa et Scripting
- 25. ouverture d'une URL dans un nouvel onglet
- 26. Comment ouvrir un fichier PDF dans Google Chrome dans un nouvel onglet?
- 27. Comment puis-je ouvrir un nouvel onglet de navigateur dans Eclipse PDT?
- 28. Ouvrir un onglet chrome de la fenêtre javascript retardée. Ouvrir
- 29. comment ouvrir une fonction dans une nouvelle fenêtre? Ou nouvel onglet?
- 30. Ouverture (c) des tags dans le nouvel onglet (G) Vim
ne fonctionne pas dans 5.1, [AppleScript - Script Safari 5.1 pour ouvrir un onglet - Stack Overflow] (http://stackoverflow.com/questions/6941630/script-safari-5-1-to-open-a-tab) – user495470
@Lri: Ne fonctionne pas dans 6.0 soit; compte tenu du support AppleScript à moitié abandonné même dans les applications d'Apple, externaliser la tâche à une commande shell en utilisant l'utilitaire 'open' est l'approche la plus robuste: ' do shell script 'ouvert -a \ "Safari \" \ " "&" http://stackoverflow.com "&" \ "" ' – mklement0
Cela fonctionne très bien dans Safari 9.1.2. Est-il possible d'ouvrir toujours une nouvelle fenêtre plutôt que d'ajouter l'onglet dans la fenêtre existante? –