如何将HTML字符串传递给UIWebView、iOS中的javascript函数

如何将HTML字符串传递给UIWebView、iOS中的javascript函数,javascript,objective-c,ios,ios5,uiwebview,Javascript,Objective C,Ios,Ios5,Uiwebview,如何在objective C中传递从文件读取的HTML字符串标记,并将其传递给接受参数的javascript函数 在我的webViewDidFinishLoad中,我尝试这样调用 NSString *jsfile = [[NSBundle mainBundle] pathForResource:@"setcontent" ofType:@"js"]; NSString *js = [NSString stringWithContentsOfFile:jsfile encoding:NSUTF8S

如何在objective 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;
}
我使用显式字符串值测试了这段代码,比如test

“”,它通过设置元素内容来工作。如果我将其更改为
@“

test

,即在id属性中使用单引号,则它不起作用。为了使后者能够工作,我必须在目标C代码中将字符串格式化程序“%@”更改为\“%@”

上述问题并不严重,但在读取包含多个html标记的资源文件的内容时,无论哪种方式都不起作用,这些标记必须设置为#section1 to div元素的innerHTML

我需要对内容进行编码吗?调用stringByEvaluatingJavaScriptFromString方法之前? 谁能告诉我,我做错了什么?如果有人知道更好的方法,请写信


这里有一个长度限制,在将整个文件传递给js时,您似乎遇到了这个限制