如何傳遞從目標C中的文件中讀取的HTML字符串標記,並將其傳遞給帶有參數的JavaScript函數?如何將一個HTML字符串傳遞給UIWebView中的javascript函數,iOS
在我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屬性,則它不起作用。爲了後者能夠工作,我必須在目標C代碼中將字符串格式化程序'%@'更改爲\「%@ \」。
上述問題並不那麼嚴重,但在閱讀包含多個html標籤的資源文件的內容時,無法以任何方式工作,這些標籤必須設置爲#section1的innerHTML到div元素。
我需要以某種方式對內容進行編碼嗎?在調用stringByEvaluatingJavaScriptFromString方法之前? 任何人都可以給我指出我,我做錯了什麼?如果有人知道更好的方式來做到這一點,請寫。
親切的問候
不,它是一個非常小的文件。 20多個標籤就是這樣。 – CodeWeed