目前,我一直在将页面加载到我的 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];
}
}
您不想在 UIwebview 中打开的任何链接都使用 target="_blank"