WKWebView 加载使用 sea.js 和 avalon 的本地 html5 项目
Posted
技术标签:
【中文标题】WKWebView 加载使用 sea.js 和 avalon 的本地 html5 项目【英文标题】:WKWebView load local html5 project which use sea.js and avalon 【发布时间】:2016-09-14 06:12:44 【问题描述】:当我通过 WKWebView 加载本地 html5 项目时,它无法工作。我使用 Safari 检查器检查错误。它列出了这样的错误:
"XMLHttpRequest cannot load file:///Users....avalon/avalon.me.html. Cross origin requests are only supported for HTTP."
我在下面尝试了这些方法,但它们也无法正常工作。
当我将 html5 添加到我的应用程序项目中时,我选择了“创建文件夹引用”项。我已经尝试将 html5 文件添加到一个包中。或者将它们复制到文档路径。它也不起作用。我认为它没有路径问题。我已经尝试过这些方式来加载 html5 文件:
[self.webview loadHTMLString:appHtml baseURL:baseURL];
[self.webview loadRequest:request];
[self.webview loadFileURL:indexurl allowingReadAccessToURL:indexurl];
如果我从本地服务器加载 html5 文件,它会成功。我尝试了一个不使用 sea.js 和 avalon 的简单 html5 项目,它也可以成功。我使用 UIwebView 替换 WKWebView,它是好的!
我已经在这个问题上搜索了一些解决方案,但我没有找到答案。 WKWebView 是否不支持加载本地 html,例如“file:///Users...”? 这个问题有解决办法吗?
你能帮帮我吗?
【问题讨论】:
【参考方案1】:我看到您正在尝试从本地计算机 (file:///...
) 加载资产。无法从本地机器加载 XHR 请求。您需要设置一个开发服务器/环境来正确测试您的 XHR 请求。
【讨论】:
我从 localhost 服务器加载 html 没问题。我已经搜索过这个问题,有人说这是一个 ios 问题。我不确定。以上是关于WKWebView 加载使用 sea.js 和 avalon 的本地 html5 项目的主要内容,如果未能解决你的问题,请参考以下文章