0

我使用 Unity 的 UniWebView 3 插件来显示本地 .html 文件。此插件使用WKWebView,它不会在 iOS 设备上以 .html 格式加载本地图像。但是 .css 和 .js 文件成功加载(在标题中)。在 Unity 编辑器中正确显示图像 (macOS)。

图片标签是:

<img src="highlights-14.png" alt="image description" />

highlight-14.png 与 index.html 在同一文件夹中。

我也试过标签看起来像这样:

<img src=«/highlights-14.png" alt="image description" />
<img src=«./highlights-14.png" alt="image description" />
<img src=«../highlights-14.png" alt="image description" />
// With moving image into associated folder
<img src=«images/highlights-14.png" alt="image description" />
<img src=«/images/highlights-14.png" alt="image description" />
<img src=«./images/highlights-14.png" alt="image description" /> 

我尝试在 Load 方法中使用 readAccessURL ( loadFileURL:allowingReadAccessToURL: in WKWebView )。如果我有一个 URL(站点路径),如下所示:

file:///var/containers/Bundle/Application/.../Data/Raw/Products/Research.html

然后我将有下一个 readAccessURL:

file:///var/containers/Bundle/Application/.../Data/Raw/Products/

我还为 readAcessURL 尝试了这个字符串:

file:///var/containers/Bundle/Application/.../Data/Raw/Products

和这个:

file:///var/containers/Bundle/Application/.../Data/Raw/

还有其他一些……</p>

我尝试将带有«YES»值的«Allow Arbitrary Loads in Web Content»键添加到info.plist(在App Transport Security Settings下)。

WKWebView 仍然不加载任何图像。感谢您的任何建议。

4

2 回答 2

1

如果您在 iOS 上的 UniWebView 中指定正确的路径,本地图像应该可以正常工作。

假设您在 StreamingAssets 文件夹中有一个页面“index.html”,并且“image.jpg”文件位于 HTML 文件旁边。

StreamingAssets -- index.html -- image.jpg

然后,您可以将页面中的图像加载为:

<img src="image.jpg" alt="A demo image" />

在 C# 中

var url = UniWebViewHelper.StreamingAssetURLForPath("page3.html");
webView.Load(url);

如果您的图像位于父文件夹中,您可能需要在 Load 方法中指定正确的“readAccessURL”参数。您可以在此处查看 Load 方法的文档。

于 2019-08-02T23:51:34.870 回答
0

感谢您帮助onevcat。但我已经有了一个结构:

StreamingAssets:
- index.html
- image.png

图片标签是:

<img src="image.png"  alt="image description" />

C#代码:

string url = UniWebViewHelper.StreamingAssetURLForPath("index.html");
webView.Load(url);

它可以在编辑器和设备上正确加载 .css 和 .js 文件。图像在 Unity 编辑器 (MacOS) 中加载,但由于某种原因无法在 iOS 设备(iPhone X、iPad、iPadPro)上加载。

我还能尝试什么?也许在 XCode 构建中有一些资源?谢谢你。

于 2019-08-05T10:52:28.227 回答