我在WKWebView中发现了一个奇怪的行为:

我用来从bundle中的文件加载HTML文本,我也使用css文件,也在bundle中 .

虽然这种方法总是适用于UIWebView,但是使用新的WKWebView类只有在html文本不包含像“ - ”这样的unicode字符时才有效(U 2013) .

我为此创建了一个测试项目,演示了这个问题,并附上了截图 .

当屏幕截图(webView2,在设备中间)可见时,当html文本包含“ - ”符号时,显示的文本没有按照应有的样式设置(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;

}

enter image description here