我不确定这是如何可行的(从一个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内容。在这样的应用程序中,你可以通过WKUserContentController
的add(_:name:)
方法访问系统api。