Возможно ли использовать AppleScript для открытия ссылки на новой вкладке в Safari?Открыть URL-адрес на новой вкладке Safari с помощью AppleScript
ответ
Это будет работать:
tell application "Safari"
tell window 1
set current tab to (make new tab with properties {URL:"http://www.stackoverflow.com"})
end tell
end tell
Код:
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
Одна проблема заключается в том, что это работает только если языком системы является английский.
Это обычно должны создать новую вкладку и сфокусировать его (или фокус существующую вкладку, если URL уже открыт):
tell application "Safari"
open location "http://stackoverflow.com"
activate
end tell
Это открывает новый если «Открывать страницы в вкладках, а не в окнах» никогда не установлено.
tell application "System Events" to open location
не работает с некоторыми URL-адресов, содержащих не-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
Это открывает новую вкладку, даже если новые страницы планируется открыть в окнах:
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
не поднимает окно, но делает это окно как window 1
Системным событиям, которое может AXRaise
.
Открытое местоположение, похоже, открывает окна или вкладки на основе настроек «Открытые страницы в вкладках вместо окон» - создание новой версии вкладки создает вкладки, даже если Safari в противном случае настроен на всегда открывать окна. – haa
Идеально подходит для моего использования, так как я не хочу, чтобы он создавал новую вкладку, если предыдущая еще открыта. Спасибо. –
привет @ Lri Мне нужна помощь .. ваш код работает на меня только для non-ascii, я пробовал для ascii ... он открывается в новой вкладке, но я хочу, чтобы она была на той же вкладке. Можете ли вы помочь –
Я использовал следующий скрипт, чтобы открыть сотни документов на вкладках в одном окне.
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
Но это больше не работает в Safari 5.1 на Lion. Он откроет новую вкладку, но не будет загружать URL-адрес, указанный в glob свойства. Я изменил его к следующему, который сейчас работает:
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
Я думаю, что это также делает то, что вы просили, но гораздо короче и менее браузер конкретны:
do shell script "open http://www.webpagehere.com"
Откроется указанный URL в вашем браузере по умолчанию. И если вы явно хотите, чтобы открыть его в Safari, используйте:
do shell script "open -a Safari 'http://www.webpagehere.com'"
Я не могу комментировать: -/так что я отвечу, чтобы сказать, что ответ Тима (выше) работает на OS X 10.8.5. Это одна линия версия его сценария также работает:
tell window 1 of application "Safari" to set current tab to (make new tab with properties {URL:"http://www.stackoverflow.com"})
Arrgh - одна линия переполнен. Здесь без кода тегов:
СКАЖИТЕ окно 1 приложения «Сафари», чтобы установить текущую вкладку, чтобы (сделать новую вкладку со свойствами {URL: «http://www.stackoverflow.com»})
Я закончил с использованием Automator сделать это было намного проще, и это работает.
Прошло некоторое время, так как новый ответ был опубликован здесь. Я думаю, что это оптимальный способ сделать это. Он откроет Safari, если он не открыт, создайте новое окно, если нет открытых окон, и добавьте вкладку в текущее (или вновь созданное) окно.
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
Вы можете попробовать следующий подход:
Также и может сочетать использование Apple, сценарий в FastScript (бесплатно для 10 клавиш)
Чтобы добавить скрипт - просто сохранить сценарий в /Library/Scripts
, После того, как вы сможете установить ярлык для нового скрипта.
Если вы хотите, чтобы открыть новое окно, чем новая вкладка и может играть в следующем:
tell application "System Events"
tell process "Safari"
click menu item "New window" of menu "File" of menu bar 1
end tell
end tell
Примечания: вам нужно разрешить использовать AppleScript specialCapabilities в настройках безопасности в данном случае.
Пожалуйста добавьте объяснения в свой ответ. –
@ ADreNaLiNe-DJ, пожалуйста, проверьте обновления – gbk
Не кратчайшее решение, но и работает, а не только на английском языке ...
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 это действительно не вводит никакого нового значения. –
Работал для меня в Safari v.11
tell application "Safari"
tell window 1
make new tab with properties {URL:"https://twitter.com"}
end tell
end tell
- 1. Хотите открыть созданный пользователем URL-адрес на новой вкладке Safari
- 2. Открыть PDF в новой вкладке в Safari
- 3. открыть миниатюру на новой вкладке
- 4. открыть файл на новой вкладке
- 5. Открыть HttpResponse на новой вкладке
- 6. Открыть в новой вкладке
- 7. Открыть буфер на новой вкладке на Vim
- 8. Открыть страницу на новой вкладке с кодом
- 9. Открыть URL-адрес на новой вкладке с помощью Javascript
- 10. Как открыть файл PDF на новой вкладке с помощью C#?
- 11. Открыть URL в новой вкладке активного окна в Safari
- 12. Открыть PDF в новой вкладке
- 13. Открыть ссылку в новой вкладке с jQuery
- 14. window.location открыть в новой вкладке
- 15. Открыть FPDF в новой вкладке
- 16. Открыть видеовстречу в новой вкладке
- 17. Открыть PDF на новой вкладке в браузере
- 18. Как открыть .pdf на новой вкладке
- 19. Onsubmit формы, открыть на новой вкладке
- 20. Открыть ссылку iFrame на новой вкладке?
- 21. Как открыть PDF-файл на новой вкладке
- 22. Angularjs. Открыть содержимое на новой вкладке
- 23. Открыть текстовый файл на новой вкладке
- 24. window.location открыть в новой вкладке
- 25. GVim: Открыть в новой вкладке
- 26. window.location Открыть в новой вкладке
- 27. Как открыть диалоговое окно на новой вкладке?
- 28. Как открыть в новой вкладке на SelectedIndexChanged?
- 29. не удалось открыть ссылку на новой вкладке
- 30. Как открыть объявление Google на новой вкладке?
Не работает в 5.1, [AppleScript - Скрипт Safari 5.1, чтобы открыть вкладку - Переполнение стека] (http://stackoverflow.com/questions/6941630/script-safari-5-1-to-open-a-tab) – user495470
@Lri: не работает в 6.0 либо; учитывая половину отказа от поддержки AppleScript даже в собственных приложениях Apple, вытеснение задачи командой оболочки с помощью утилиты 'open' является наиболее надежным подходом: ' make shell script 'open -a \ "Safari \" \ " "&" http://stackoverflow.com "&" \ "" ' – mklement0
Это отлично работает в Safari 9.1.2. Можно ли всегда открывать новое окно, а добавить вкладку в существующее окно? –