現在、アプリ内で使用しているウェブサイトのモバイル バージョンからデータをスクレイピングする方法として、phonegap プロジェクト内の非表示の iframe にページをロードしています。
問題は、ある特定のサイトにある種のフレームバスターがあり、アプリを終了してモバイルサファリでページをロードするリダイレクトを送信することです。
リロードを停止する方法はありますか? スクレイピングの倫理は脇に置きます:-)
PhoneGap Build を使用している場合は、これをconfig.xml
ファイルに追加します。
<preference name="stay-in-webview" value="true" />
Build を使用していない場合は、次のように設定しますCordova.plist/Phongap.plist
。
OpenAllWhitelistURLsInWebView = 'Yes'
この投稿で答えを見つけました http://craigpfau.com/2012/02/phonegap-ios-uiwebview-and-safari-app-links/
これを AppDelegate.m に置き換えます
- (BOOL) webView:(UIWebView*)theWebView shouldStartLoadWithRequest: (NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *url = [request URL];
if ([[url absoluteString] rangeOfString:@"URLToOpenInUIWebView.com"].location != NSNotFound) {
return YES;
}
else {
return [self.viewController webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType];
}
}
target="_blank" を使用する UIwebview で開きたくないリンク