【问题标题】:Call Objective-C from Safari javascript?从 Safari javascript 调用 Objective-C?
【发布时间】:2019-08-31 23:52:08
【问题描述】:

在 OSX(比如 Yosemite)上,我想要一种从 Safari/javascript 调用 Objective-C 的方法。有没有办法做到这一点?


不是我要找的东西:

  • 在应用中嵌入WebView/WKWebView
  • 从 Objective-C 启动/控制/加载 Safari
  • 在 Safari 之外使用 JXA(除非它的连接方式可以让我从 Safari 内部的 JavaScript 桥接到 Objective-C)。

【问题讨论】:

  • 我不知道是什么导致有人对此投反对票。这在某种程度上不是一个有效的问题吗?是不是说得不好?我不是想破解任何人,这一切都在我自己完全受控的环境中。什么给了?

标签: javascript objective-c macos safari javascript-automation


【解决方案1】:

我遇到了这个参考。所以答案似乎是:是的,如果你正在编写一个插件。

https://developer.apple.com/library/archive/documentation/AppleApplications/Conceptual/SafariJSProgTopics/ObjCFromJavaScript.html

【讨论】:

  • 此外,通过利用 JavaScript 实现中的漏洞,从网站下载的代码可以注入可以调用 Objective-C 的代码。当然,这些漏洞在 Apple 意识到它们后很快就会得到修补,但人们过去一直在寻找新漏洞的事实表明,人们将来会继续寻找新的方法来做到这一点。并不是说您应该这样做,但出于安全目的,最好知道您的 Web 浏览器可能能够下载和执行基本上任意的机器代码。 googleprojectzero.blogspot.com/2019/08/jsc-exploits.html?m=1
【解决方案2】:

没有。没有办法做到这一点。客户端机器的唯一接口是浏览器提供的 API。

【讨论】:

    猜你喜欢
    • 2014-03-22
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 2013-01-11
    • 1970-01-01
    • 2012-04-29
    • 2023-03-29
    相关资源
    最近更新 更多