2017-04-20 72 views
4

我有我在哪裏下載從服務器的HTML文件,並顯示在uiwebview它的應用程序,JavaScript文件未加載並且stringByEvaluatingJavaScriptFromString也未執行?

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask ,YES); 
NSString *documentsDirectory = [paths firstObject]; 
NSString *path = [documentsDirectory stringByAppendingPathComponent:[dictionary valueForKey:@"htmlfilename"]]; 

NSError *err; 
NSString *html = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&err]; 

[self.webview loadHTMLString:html baseURL:[NSURL fileURLWithPath:path]]; 

這樣,之後在Didfinishload我加載它在我的應用程序包中添加像一個JS文件這

NSString *javaScript=[NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"foo" ofType:@"js"] encoding:NSUTF8StringEncoding error:nil]; 

[webview stringByEvaluatingJavaScriptFromString:javaScript]; 

之後,點擊一個按鈕,我呼籲stringByEvaluatingJavaScriptFromString,但它不工作。即使這個JavaScript文件本身沒有加載。有人可以指導我嗎?

+0

你應該使用JavaScript的Swift或Objective C橋架構或庫爲此,PayUMoney使用Webview –

+0

你能分享foo.js的內容嗎?也許這個代碼只是聲明函數,但不能調用它們? –

+0

如果你解釋更多,你可能會得到更好的答案。 「它不起作用」並沒有告訴我們很多。你說「那個JavaScript文件本身沒有加載」,但你怎麼知道?我假設你正在討論按鈕按下加載的第二個JavaScript文件。但是你不顯示那個代碼。你試圖確定究竟出了什麼問題? – fishinear

回答

0

您應該嘗試使用JavaScriptCore Framework在Native iOS中使用JavaScript。這個框架允許訪問WebKit的JavaScript引擎。早些時候,這個框架支持MAC,但現在它支持iOS,並支持swift/objective-c和javascript之間的互操作性。有關更多參考,請閱讀下面的鏈接。

https://www.raywenderlich.com/124075/javascriptcore-tutorial

這是基於對你的問題的理解我的想法。但如果你有更多的細節,我已經嘗試提供其他解決方案。

快樂編碼!