【问题标题】:How can a Cocoa application get notified when a URL is changed/loaded in Safari for OS X?在 OS X 的 Safari 中更改/加载 URL 时,如何通知 Cocoa 应用程序?
【发布时间】:2015-03-08 17:00:45
【问题描述】:

我知道您可以使用 AppleScript 检索活动选项卡的当前 URL,而不是轮询更改我想知道是否有办法在 OS X 的 Safari 中更改 URL 时收到通知?

希望收到通知的应用是非沙盒 Cocoa 应用。

【问题讨论】:

    标签: objective-c cocoa safari applescript


    【解决方案1】:

    这是一个想法。一般来说,当网页更改时,Safari 不会发送任何我知道的通知,所以我认为没有直接的方式来获得通知。但是可能有间接的方式。

    在 ~/Library/Safari 中有一些与浏览器历史相关的文件。因此,当用户访问新网页时,这些历史文件会使用新信息进行更新,因此这些文件的修改日期也会发生变化。因此,您可以在历史文件上放置一个观察者。当它们发生变化时,您就知道网站很可能发生了变化。

    因此,您可以找到一种方法来查看 Safari 的历史文件,而不是轮询 Safari。我很确定有一些可可方法可以监视文件并在它们更改时得到通知。顺便说一句,我不记得它们了,但我希望这能为您指明正确的方向。

    【讨论】:

      猜你喜欢
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-09
      • 1970-01-01
      相关资源
      最近更新 更多