是否可以在像js或swift这样的网页上运行swift与js交互



我不确定这是如何可行的(从一个web性能POV),但我想知道如果Swift代码可以在一个网站内运行?

例如添加到你的HTML标记像JS的脚本标签?

用例:

IOS有一个低功耗模式,阻止一些网站功能(如autoplay视频)-而你可以使用js事件监听器来检测挂起,我发现这是一个不可靠的指标(因为点击关闭页面导致视频挂起)。

我想知道swift是否可以用来快速检测是否正在使用低功耗模式,并传递/创建一些标志,让JS检测并相应地改变设计/函数。

我简要地阅读了Swift文档,但可以使用Swift开发人员来权衡这个解决方案的可能性。

理想情况下在低功耗模式下会有一个媒体查询,比如:@media and (low-power){},但这似乎不是CSS的当前功能

是,不是。Swift在浏览器中运行,但是它不能访问系统api,除非你在一个定制的浏览器中运行它。

在浏览器中运行swift

可以在浏览器中运行Swift代码。你可以使用SwiftWasm。一些实用的信息可以在SwiftWasm书

中找到。

Swift/JavaScript交互

也可以与JavaScript交互。参见:https://github.com/swiftwasm/JavaScriptKit

System API Access

通过普通浏览器访问系统api是不可能的。如果你想要访问这些api,你应该创建一个本地应用程序。注意,在本地应用程序中,你也可以创建web内容。在这样的应用程序中,你可以通过WKUserContentControlleradd(_:name:)方法访问系统api。

最新更新