如何传递从 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;
}
我使用显式字符串值测试了这段代码,例如 @"<p id=\"cid1\"> test </p>"
它通过设置元素内容来工作。如果我将其更改为 @"<p id='cid1'> test </p>"
即 id 属性带有单引号,它不起作用。为了让后者工作,我必须在 Objective C 代码中将字符串格式化程序 '%@' 更改为\"%@\"。
上面的问题并没有那么严重,但是当读取包含多个 html 标签的资源文件的内容时,无论哪种方式都不起作用,这些标签必须设置为 div 元素的#section1 的innerHTML。
我需要以某种方式对内容进行编码吗?在调用 stringByEvaluatingJavaScriptFromString 方法之前? 谁能给我指点一下,我做错了什么?如果有人知道更好的方法,请写信。
亲切的问候
最佳答案
这里有一个长度限制,当你将整个文件传递给js时,你似乎遇到了它
关于javascript - 如何将 HTML 字符串传递给 UIWebView 中的 javascript 函数,iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13848820/