我們將實現一個使用內置Safari瀏覽器(UIWebView)來處理一些社交內容的混合應用程序。我們將使用一些智能的Javascript庫來處理頁面上的一些UI內容,並且我們不希望始終從服務器加載庫。是否可以將本地Javascript庫加載到iPhone的在線頁面上?
是否可以將一些* .js打包到應用程序包中,然後在瀏覽過程中訪問它?希望你能理解我的問題。
如果這個「混合模式」有效,也許我們可以打包一些常見的UI * .png-s。
我們將實現一個使用內置Safari瀏覽器(UIWebView)來處理一些社交內容的混合應用程序。我們將使用一些智能的Javascript庫來處理頁面上的一些UI內容,並且我們不希望始終從服務器加載庫。是否可以將本地Javascript庫加載到iPhone的在線頁面上?
是否可以將一些* .js打包到應用程序包中,然後在瀏覽過程中訪問它?希望你能理解我的問題。
如果這個「混合模式」有效,也許我們可以打包一些常見的UI * .png-s。
我相信你能,你有一對夫婦的可能性,如:
你有-stringByEvaluatingJavaScriptFromString:在UIWebView的方法 - 我相信你可以執行你的js文件的內容.. 。我不確定,但從來沒有嘗試過......但它應該可以工作。
您可以創建NSURLProtocol的子類併爲您的子類註冊http://模式。這樣,您的類就可以充當互聯網和使用http://模式的任何組件之間的代理 - 並且您可以從本地緩存中返回js和png文件。
您可以單獨下載html內容,並將鏈接替換爲本地文件://鏈接,然後使用UIWebView顯示此格式化的字符串。
希望這會有所幫助。
嘗試
NSString *jsLibFile = [[NSBundle mainBundle] pathForResource:@"library" ofType:@"js"];
if (jsLibFile) {
NSString *libSrcTxt = [NSString stringWithContentsOfFile:jsLibFile];
if (libSrcTxt) {
webView stringByEvaluatingJavaScriptFromString:libSrcTxt;
}
}
(打開文件,webView的內部評估JS。)
+ 1.Same問題就在這裏。 :-) –