我在WKWebView中发现了一个奇怪的行为:
我用来从包中的文件加载HTML文本,我也使用css文件,也在包中。
虽然这种方法总是适用于UIWebView,但是使用新的WKWebView类只有在html文本不包含像" - "这样的unicode字符时才能使用它。 (U + 2013)。
我为此创建了一个测试项目,演示了该问题,并附上了截图。
当html文本包含" - "时,屏幕截图(webView2,设备中间)可见。标志,显示的文本没有样式(webView1,在顶部)。如果我们从远程服务器加载相同的html,使用loadRequest调用,它确实有效(webView3,在底部)。 使用UIWebview对象,一切正常。
使用的HTML就是这个:
story.html:
<html><meta charset="UTF-8"><link rel="stylesheet" type="text/css" href="Styles.css" /><body><div>123123</div></body><html>
story_failing.html
<html><meta charset="UTF-8"><link rel="stylesheet" type="text/css" href="Styles.css" /><body>123–123</body><html>
Styles.css中
body {
font-size:80px;
color: #FF0000;
}