在Webview / UIWebView中加载外部URL时,是否可以加载本地JS文件?

时间:2013-03-14 19:42:55

标签: javascript android ios cordova webview

在试图解决我在Phonegap上遇到iOS问题的this question时,我意识到我需要加载两个不同的cordova.js文件,具体取决于它是iOS还是Android应用程序。一种解决方案是测试服务器端并链接到不同的cordova.js文件,但我试图弄清楚是否可以在每个应用程序中捆绑特定于平台的cordova.js文件。

是否可以在Android上执行类似的操作:

super.loadUrl("file:///android_asset/phonegap-2.5.0.js, 15000);

和iOS中类似的东西?

1 个答案:

答案 0 :(得分:0)

您应该只是点击不同的端点,或者为每个平台使用不同的参数,让服务器处理它。

那说你可以这样做:

 - (void)downloadHTMLAndUpdateCordova
 {
       NSURL *url = [NSURL URLWithString:@"http://www.someapi.com"];
       NSURLRequest *request = [NSURLRequest requestWithURL:url];
       NSHTTPURLResponse* response = nil;
       NSError* error = nil;
       NSData *htmlData = [NSURLConnection sendSynchronousRequest:self.request returningResponse:&response error:&error];

      if (error == nil) {
          NSString *htmlString = [NSString stringWithUTF8String:[htmlData bytes]];
          htmlString = [htmlString stringByReplacingOccurrencesOfString:@"someCordovaFile.js" withString:@"someCordovaFileiOS.js"];
          [self.webView loadHTMLString:htmlString baseURL:@"http://www.someapi.com"];
       }
 }