使用 AppleScript 在新的 Safari 选项卡中打开 URL
是否可以使用 AppleScript 在 Safari 的新选项卡中打开链接?
Is it possible to use AppleScript to open a link in a new tab in Safari?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
这将起作用:
This will work:
我认为这也满足您的要求,但它更短,并且不太特定于浏览器:
这将在您的默认浏览器中打开指定的 URL。如果您明确想要在 Safari 中打开它,请使用以下命令:
I think this also does what you asked for, but it is much shorter and is less browser-specific:
This will open the specified URL in your default browser. And if you explicitly want to open it in Safari, use this:
这通常应该创建一个新选项卡并将其聚焦(或者如果 URL 已打开,则聚焦现有选项卡):
如果“在选项卡而不是窗口中打开页面”设置为“从不”,则会打开一个新窗口。
告诉应用程序“系统事件”打开位置
不适用于某些包含非 ASCII 字符的 URL:即使新页面设置为在 Windows 中打开,这也会打开一个新选项卡:
set索引为 1
不会提升窗口,但它使窗口在系统事件中显示为窗口 1
,系统事件可以AXRaise
它。This should usually create a new tab and focus it (or focus an existing tab if the URL is already open):
It opens a new window if "Open pages in tabs instead of windows" is set to never though.
tell application "System Events" to open location
doesn't work with some URLs that contain non-ASCII characters:This opens a new tab even when new pages are set to open in windows:
set index to 1
doesn't raise the window, but it makes the window appear aswindow 1
to System Events, which canAXRaise
it.我一直在使用以下脚本在单个窗口中的选项卡中打开数百个文档。
但这在 Lion 上的 Safari 5.1 中不再有效。它将打开新选项卡,但不会加载属性全局中提供的 URL。我将其修改为以下内容,现在可以使用:
I've been using the following script to open hundreds of docs into tabs in a single window.
But that no longer works in Safari 5.1 on Lion. It would open the new tab, but it wouldn't load the URL provided in the properties glob. I modified it to the following, which now works:
自从在这里发布新答案以来已经有一段时间了。我认为这是实现这一目标的最佳方式。如果 Safari 未打开,它将打开它;如果没有打开窗口,它将创建一个新窗口,并将选项卡添加到当前(或新创建的)窗口。
It's been a while since a new answer's been posted here. I think this is the optimal way to do this. It will open Safari if it's not open, create a new window if there are no windows open, and add the tab to the current (or newly created) window.
代码:
一个问题是,这仅在系统语言设置为英语时才有效。
Code:
One problem is that this only works if the system's language is set to English.
我无法发表评论 :-/ 所以我会回答说 Tim 的答案(上面)从 OS X 10.8.5 开始有效。他的脚本的这一行版本也有效:
啊——一行已经溢出了。这里没有代码标签:
告诉应用程序“Safari”的窗口 1 将当前选项卡设置为(使用属性 {URL:"http:// /www.stackoverflow.com"})
I can't comment :-/ so I will answer to say that Tim's answer (above) works as of OS X 10.8.5. This one-line version of his script also works:
Arrgh -- the one line is overflowing. Here it is without the code tags:
tell window 1 of application "Safari" to set current tab to (make new tab with properties {URL:"http://www.stackoverflow.com"})
我最终使用 automator 来完成此操作,这更容易并且有效。
I ended up using automator to do this which was much easier and it works.
您可以尝试以下方法:
您还可以在 FastScript 中结合使用 Apple 脚本(10 个快捷方式免费) )
要添加脚本 - 只需将脚本保存在
/Library/Scripts
中。之后您将能够为新脚本设置一些快捷方式。如果您想打开新窗口而不是新选项卡,您可以在下一个中播放:
注意:在这种情况下,您需要允许 AppleScript 在安全设置中使用特殊功能。
You can try following approach:
Also u can combine usage of Apple script within FastScript (free for 10 shortcut)
To add your script - just save script in
/Library/Scripts
. After you will be able to set some shortcut for new script.If you want to open new Window than new tab u can play within next:
Note: you need to allow AppleScript to use specialCapabilities in security settings in this case.
这不是最短的解决方案,但也有效,而且不仅是英语......
Not the shortest solution but also works, and not only in English ...
在 Safari v.11 中为我工作
Worked for me in Safari v.11
我找到了一种使用 Safari 在后台打开新选项卡的方法。
在我写这个答案的时候,我做了这个
新版本
任何建议将不胜感激
最好的问候
I found a way to open a new tab in the background with Safari.
During the time I wrote this answer I made this
New version
Any suggestions will be appreciate
Best regards