0

チャイルドブラウザを使用。私の場合:

  • index.html ファイルと test.html があります。
  • test.html に行く
  • test.html から Childbrowser を起動します
  • 左上隅の「完了」ボタンを押します
  • Childbrowser が閉じて、アプリから最後に開いたページに戻ります。この場合は www/test.hml

Childbrowser を電話ギャップの index.html にリダイレクト/転送したいですか? どうすればいいですか?

js ファイル:

// ユーザーが「完了」ボタンを選択したときのコールバック // ネイティブから呼び出される

ChildBrowser._onClose = function()
{
    window.plugins.childBrowser.onClose();
};

.m ファイルのコード スニペット:

- (void)closeBrowser
{

    if (self.delegate != nil) {
        [self.delegate onClose];
    }
    if ([self respondsToSelector:@selector(presentingViewController)]) {
        // Reference UIViewController.h Line:179 for update to iOS 5 difference - @RandyMcMillan
        [[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
    } else {
        [[self parentViewController] dismissModalViewControllerAnimated:YES];
    }
}

- (IBAction)onDoneButtonPress:(id)sender
{ 
    [self closeBrowser];
    NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]];
    [self.webView loadRequest:request];
}

そして、他の .m ファイル:

- (void)close:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url
{
    [self.childBrowser closeBrowser];
}

- (void)onClose
{
    [self.webView stringByEvaluatingJavaScriptFromString:@"window.plugins.childBrowser.onClose();"];
}
4

1 に答える 1

1

onClose ハンドラーで、document.location を index.html に設定します。それと同じくらい単純なはずです。

于 2012-10-31T14:53:59.520 に答える