javascript - iOS:WKWebView 不会立即加载本地 JS 文件
问题描述
我正在将两个 JS 文件加载到WKWebView
vialoadHTMLstring
方法中。这些脚本嵌入在应用程序中,因此不会执行 HTTP 调用。第一个脚本加载到head
标签中。第二个是内联。这适用于 Lottie 网络播放器:https ://github.com/LottieFiles/lottie-player 。因此,第一个加载lottie-player.js
,而第二个加载lottie-player
元素之后的动画。
第二个脚本执行类似于:
const player = document.querySelector("lottie-player");
// or load via a Bodymovin JSON string/object
player.load(
'{"v":"5.3.4","fr":30,"ip":0,"op":38,"w":315,"h":600,"nm":"new", ... }'
);
一切正常(即动画加载和播放)。我面临的问题是动画变得可见大约需要 1 秒,因此WKWebView
似乎不会立即加载脚本。有没有办法解决这个问题?我正在使用默认的WKWebViewConfiguration
.
解决方案
WKWebView 初始化和首次加载很慢。最好在加载包含 WKWebView 的视图控制器之前初始化和加载 WKWebView。您可以使用下面的项目来检查他们是如何实现这一目标的,以供您参考,并且他们还比较了加载时间。
https://github.com/bernikovich/WebViewWarmUper
也希望加载动画不会花费太多时间。
推荐阅读
- c# - 如何在非静态构造函数中覆盖 DataContextProperty 元数据
- java - 允许 Spring 访问子模块层中定义的 bean
- c - 如何在 Cobol 中打印变量名
- css - 基于最小高度 div 的 CSS div 等高
- java - 使用 Tensorflow Python 预测数组中的下一个数字
- html - 如何仅在底部创建一个带有边框和半径的 div,在另一个带有边框和半径的 div 内
- go - Golang cron 运行多次
- laravel - 错误“安装失败,正在将 ./composer.json 还原为其原始内容。”
- javascript - 如何以多种方式显示来自.map函数的数据s
- java - 如何从 JAVA 文件中解析静态级别变量?