我试图将一些HTML放在UIWebView中的div中。虽然代码似乎是正确的但它不会起作用。
这有效:
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.getElementById(\"testdiv\").innerHTML = \"Test text here\""]];
这不是:
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.getElementById(\"testdiv\").innerHTML = \"%@\"", htmlString]];
在第二种情况下' htmlString'只是块引用中的一些HTML。
基本上当我使用HTML时,它失败了。我首先认为HTML可能无效,但我认为它仍然会尝试显示它。
'错误'我得到的操作只是一个空的(非零)字符串。
有什么想法吗?
编辑:
以下是不会显示的HTML示例:
<div style="padding-bottom: 20px;"></div><div><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content=
"text/html charset=us-ascii" />
<title></title>
</head>
<body style=
"word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"
class="">
TestTESTEST<br class="" />
<div apple-content-edited="true" class="">
<div style=
"color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"
class="">
<div class="" style="font-size: 10px;"><br class="" /></div>
</div>
</div>
</body>
</html>
</div>
htmlString变量就是blockquote标记中的HTML。
编辑2:
如果我将HTML直接放在文档中,然后加载它就可以了。当我尝试通过JS插入它时,它只会遇到问题。
答案 0 :(得分:0)
临时解决方案:
由于我要插入的HTML文档只是一个模板,我将其复制到代码中,只是构建整个字符串并将其加载到UIWebView中:
e.g。 NSString *s = @"<html><body><div1></div1><div2>%@</div2></body></html>", contentToInsert.
理想情况下,我仍然想让它工作,好像我可以通过JS插入HTML我可以使用多个HTML模板,只需根据需要将内容放入其中。如果您能找到解决方案,请告诉我。