7

わかりました。ここで説明されているように、外部ページをphonegapビューにロードする正しい方法を見つけました(つまり、セッションを失ったり、デバイスブラウザを開かずに):phonegap Webビュー内にWebページをロードするにはどうすればよいですか? ここに:PhoneGap for iPhone:外部URLの読み込みの問題

次のステップは次のとおりです。外部ページを開いた後(それは私が所有しており、変更できます)、ローカルアプリケーションに戻るにはどうすればよいですか?外部ページにリンクがあり、クリックすると、phonegapアプリケーション内のローカルhtmlページ(mypage.html)にユーザーがリダイレクトされるようにしたいとします。

リンクのhref属性にはどのURLが必要ですか?「file:/// android_asset / www / mypage.html」に設定しようとしましたが、機能しませんでした

4

3 に答える 3

3

ChildBrowserプラグインを使用して、外部 Web ページを開きたいと考えています。次に、ChildBrowser.onLocationChange プロパティを独自の関数に設定します。その後、ユーザーがリモート ページから移動すると、場所の変更が通知されるため、ChildBrowser を閉じて新しいローカル ページに移動できます。リモートの html ページに触れる必要さえありません。

ユーザーがリモート ページから離れたときにブラウザを閉じるには、次のようにします。

cb.onLocationChange = function(loc){
    console.log("location = " + loc);
    if (loc != "http://example.com") {
        cb.close();
    }
}; 
于 2012-10-17T20:08:29.780 に答える
1

あなたが必要とするのは、あなたの MainViewController.m にあるこの魅力的なものです

- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request         navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *url = [request URL];

// Intercept the external http requests and forward to Safari.app
// Otherwise forward to the PhoneGap WebView
if ([[url scheme] isEqualToString:@"http"] || [[url scheme] isEqualToString:@"https"]) {
[[UIApplication sharedApplication] openURL:url];
return NO;
}
else {
return [ super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType ];
}
    }
于 2012-11-05T09:12:27.477 に答える