我在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;
}