5

ローカルの代わりに外部のindex.html(cordova.jsが含まれている)をロードすることは可能ですか?

私はappdelegate.mでこのコードを見つけました:

self.viewController.wwwFolderName = @"www";
self.viewController.startPage = @"index.html";

私は外部URLを参照しようとしましたが、運がなかった...誰かがこれの解決策を知っていますか?

ps

アンドロイドでそれは簡単です:

super.loadUrl("http://192.168.1.135:3000/");
4

6 に答える 6

4

私は自分のプロジェクト(AppDelegate.m)に対してこれを行いました:

self.viewController = [[[MainViewController alloc] init] autorelease];
self.viewController.useSplashScreen = YES; // YES;
self.viewController.wwwFolderName = @""; // @"www";
self.viewController.startPage = @""; // @"index.html";
self.viewController.invokeString = invokeString;
self.viewController.view.frame = viewBounds;

// Load request with new root URL
NSURL *urlOverwrite = [NSURL URLWithString:@"http://kyryll.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:urlOverwrite];

[self.viewController.webView loadRequest:request];

他の場所で述べたように、アクセスしようとしているサイトはホワイトリストに登録する必要があります。

それはうまく機能しています。私の外部サイトはローカルIIS上にあり、cordova.jsといくつかのプラグインがあります。今度は、Appleに自分のアプリを承認してもらうかどうかを確認する必要があります。

于 2012-09-19T23:25:44.357 に答える
2

PhoneGapソースをサブプロジェクトとして含める場合(1.7を使用しましたが、指示は引き続き機能します。最後のメモを参照してください)、数行のコードを追加して、PhoneGapが外部URLをとしてサポートできるようにすることができますstartPage

133行目あたりに追加する必要があります

if([self.startPage hasPrefix:@"http"]) {
    appURL = [NSURL URLWithString:self.startPage];
}
else 

直前if (startFilePath == nil) {

デフォルトでは、PhoneGapは上記のjavascript「ハック」なしで外部のstartPageURLをサポートしていないようです。これ(そしてそれ)以外に、私は他の方法を知りません!

他にご不明な点がありましたらお知らせください。

注:前述したように、ウォークスルーには1つのステップがありません。著者に知らせるために記事にコメントしましたが、まだ承認されていません。以下は私のコメントです:

私にとって欠けていたステップは、ビルドフェーズの下のヘッダー検索パスに$(CORDOVALIB)/ Classesを追加することでした(再帰的に検索するようにマークすることもできます)。それ以外は、素晴らしい記事を書いてください!

于 2012-06-05T20:47:05.207 に答える
2

iOSの場合は次のようになります。

self.viewController.wwwFolderName = @""; // @"www"
self.viewController.startPage = @"http://192.168.2.107:9000/";

startPageはURLでもあるため、名前はわかりにくいです。

于 2012-12-29T09:21:46.463 に答える
1

私が行った最も簡単な方法は、index.htmlファイルに次のスクリプトブロックを含め、不要な場合は他のコードを削除することです。

<script type="text/javascript">
     window.location.href="http://192.168.1.135:3000/";
</script>

そして、ファイルのExternalHostsマップにホストを含​​めますPhoneGap.plist。また、チェックはplistファイルにOpenAllWhitelistURLsInWebView設定されますYES

于 2012-04-23T08:55:11.393 に答える
0

wwwFolderNameを空の文字列に設定しても機能しませんでしたが、nilは機能しました。

self.viewController.wwwFolderName = nil;
self.viewController.startPage = @"http://192.168.2.107:9000/";
于 2013-07-25T07:49:50.897 に答える
0

私がした最も簡単な方法は、xxxViewController:CDVViewController <...>

-(void) viewDidLoad{
    self.wwwFolderName = @"dist";
    self.startPage = @"test.html";
    [super viewDidLoad];
}

だから、それがすべてです。

于 2015-07-16T07:41:36.110 に答える