Work Records

日々の作業記録です。iPhone・androidアプリなど作っています。http://waremon.parseapp.com/

cordova内のリンクを外部のブラウザで開く方法

cordovaを使っていて、外部のリンクを設定する時に単に

window.open("http://tokimekiex.com/", '_blank', 'location=yes');

と設定しても、アプリ内でこのリンクを開いてしまう。

ちょっとそれは困るので、外部のブラウザ(safari)とかで開くように以下の編集が必要。
いじるのは、CDVWebViewDelegate.mの以下のメソッド

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
  // ここを追加
  if([[NSString stringWithFormat:@"%@",request.URL] rangeOfString:@"file"].location== NSNotFound) {
    [[UIApplication sharedApplication] openURL:[request URL]];
    return NO;
  }
  // ここまで
  BOOL shouldLoad = YES;

これで外部のブラウザでリンクが開く。
めでたし。

cordovaのバージョンは4.1.2


[iOS/Android対応] HTML5 ハイブリッドアプリ開発[実践]入門 (Software Design plus)

[iOS/Android対応] HTML5 ハイブリッドアプリ開発[実践]入門 (Software Design plus)