2012-12-12 49 views
1

如何傳遞從目標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方法之前? 任何人都可以給我指出我,我做錯了什麼?如果有人知道更好的方式來做到這一點,請寫。

親切的問候

回答

0

這裏有一個長度限制,好像你傳遞一個整個文件時碰到它的js

+0

不,它是一個非常小的文件。 20多個標籤就是這樣。 – CodeWeed

相關問題