2011-02-16 14 views
3

我們將實現一個使用內置Safari瀏覽器(UIWebView)來處理一些社交內容的混合應用程序。我們將使用一些智能的Javascript庫來處理頁面上的一些UI內容,並且我們不希望始終從服務器加載庫。是否可以將本地Javascript庫加載到iPhone的在線頁面上?

是否可以將一些* .js打包到應用程序包中,然後在瀏覽過程中訪問它?希望你能理解我的問題。

如果這個「混合模式」有效,也許我們可以打包一些常見的UI * .png-s。

+0

+ 1.Same問題就在這裏。 :-) –

回答

0

我相信你能,你有一對夫婦的可能性,如:

  1. 你有-stringByEvaluatingJavaScriptFromString:在UIWebView的方法 - 我相信你可以執行你的js文件的內容.. 。我不確定,但從來沒有嘗試過......但它應該可以工作。

  2. 您可以創建NSURLProtocol的子類併爲您的子類註冊http://模式。這樣,您的類就可以充當互聯網和使用http://模式的任何組件之間的代理 - 並且您可以從本地緩存中返回js和png文件。

  3. 您可以單獨下載html內容,並將鏈接替換爲本地文件://鏈接,然後使用UIWebView顯示此格式化的字符串。

希望這會有所幫助。

0

嘗試

NSString *jsLibFile = [[NSBundle mainBundle] pathForResource:@"library" ofType:@"js"]; 
if (jsLibFile) { 
    NSString *libSrcTxt = [NSString stringWithContentsOfFile:jsLibFile]; 
    if (libSrcTxt) { 
     webView stringByEvaluatingJavaScriptFromString:libSrcTxt; 
    } 
} 

(打開文件,webView的內部評估JS。)

相關問題