Work Records

日々の作業記録です。ソフトウェアエンジニアリング全般から、趣味の話まで。

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


[asin:4774162116:detail]