UIWebView无法注入HTML

时间:2015-06-01 10:51:40

标签: javascript html ios objective-c uiwebview

我试图将一些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插入它时,它只会遇到问题。

1 个答案:

答案 0 :(得分:0)

临时解决方案:

由于我要插入的HTML文档只是一个模板,我将其复制到代码中,只是构建整个字符串并将其加载到UIWebView中:

e.g。 NSString *s = @"<html><body><div1></div1><div2>%@</div2></body></html>", contentToInsert.

理想情况下,我仍然想让它工作,好像我可以通过JS插入HTML我可以使用多个HTML模板,只需根据需要将内容放入其中。如果您能找到解决方案,请告诉我。