如何传递从目标 C 中的文件读取的 HTML 字符串标记并将其传递给带参数的 javascript 函数?
在我的 webViewDidFinishLoad 我尝试这样调用
NSString *jsfile = [[NSBundle mainBundle] pathForResource:@"setcontent" ofType:@"js"];
NSString *js = [NSString stringWithContentsOfFile:jsfile encoding:NSUTF8StringEncoding error:&errDes];
[webView stringByEvaluatingJavaScriptFromString:js];
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"showHtml('%@');", filecontent]];
我的 javascript 文件加载了一个函数
function showHtml(param1)
{
alert(param1);
document.getElementById('section1').innerHTML = param1;
}
我用明确的字符串值测试了这段代码,例如@"<p id=\"cid1\"> test </p>"
它通过设置元素内容来工作。如果我将其更改为@"<p id='cid1'> test </p>"
ie 对 id 属性使用单引号,则它不起作用。为了让后者工作,我必须在目标 C 代码中将字符串格式化程序 '%@' 更改为 \"%@\" 。
上面的问题不是那么严重,但是当读取包含多个 html 标记的资源文件的内容时,这两种方法都不起作用,这些标记必须设置为 #section1 到 div 元素的 innerHTML。
我需要以某种方式对内容进行编码吗?在调用 stringByEvaluatingJavaScriptFromString 方法之前?谁能给我点我,我做错了什么?如果有人知道更好的方法,请写信。
亲切的问候