1

我正在尝试通过 ScriptingBridge 获取最前面的活动 Safari 窗口(在 Mountain Lion Developer Preview 2 中运行的 Safari 5.2)的 URL,但找不到任何属性来确定该窗口是否是前面的窗口。

SafariApplication *safari = [SBApplication applicationWithBundleIdentifier:@"com.apple.Safari"];
for (SafariWindow *window in safari.windows) {
    if ([window visible]) {
        // Top most, active window?
    }
}

这不起作用——如果我有两个打开的 Safari 窗口,它们都是visible.

既不使用 windows 数组的index属性SafariWindow也不使用 windows 数组的顺序。

有一个名为“从 Safari 获取当前网页”的 Automator 操作确实有效,所以应该可以,但我不知道如何操作。

4

2 回答 2

0

奇怪的是你说windows数组的顺序没有帮助,因为它应该:根据定义,“第一个”窗口是最前面的。此外,Safari 窗口没有 URL;他们有带有 URL 的标签。因此,您只需要这样:

safari.windows[0].currentTab.URL
于 2014-12-03T23:30:40.393 回答
-1

你可以使用苹果脚本

tell application "Safari" to get URL of front document
于 2012-03-30T11:20:18.783 回答