我试图从Bundle
加载一个HTML文件。这是我使用的代码
let fileUrl = Bundle.main.url(forResource: "index", withExtension: "html")!
webView.loadFileURL(fileUrl, allowingReadAccessTo: fileUrl)
如果它是一个简单的HTML文件,我看到WKWebview
加载它们很好。但是现在我正在尝试加载使用React Native创建的HTML。我不认为React原生Web代码有任何问题,因为它在本地加载良好。
在检查日志时,我发现它无法加载 *.js文件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta httpEquiv="X-UA-Compatible" content="IE=edge" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1.00001, viewport-fit=cover"
/>
<title>Bundle HTML</title>
</head>
<div id="root"></div>
<script src="/bundles/web-4587a25eab359d254810d3f9017eb281.js"></script>
</html>
不知道为什么这个js和其他资源加载不好。你知道吗?
我还为WKWebView
添加了以下配置。allowsContentJavaScript
为true,allowFileAccessFromFileURLs
为true
1条答案
按热度按时间vm0i2vca1#
找不到此路径资源:
您应该手动将此路径替换为应用程序包中的真实的路径,因此最终代码可能如下所示
另一个更好的方法是使用
func loadHTMLString(_ string: String, baseURL: URL?)
,baseURL在这里的意思是:系统解析HTML字符串中的相对URL时要使用的基URL。