ios - 仅在初始加载后从 UIWebView 加载 Safari 中的 URL?

标签 ios xcode uiwebview safari youtube

上周我一直在尝试找出如何检测 Javascript 何时加载到网页上,然后从 UIWebView 跳到 Safari。

我目前正在使用此代码:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    if (navigationType == UIWebViewNavigationTypeOther) {

        [[UIApplication sharedApplication] openURL:request.URL];
        return NO;
    }

    return YES;
}

在 URL http://m.youtube.com/

(通常行 if (navigationType == UIWebViewNavigationTypeLinkClicked) { 有效,但不适用于 YouTube 等 Javascript 页面,因此我使用 if (navigationType == UIWebViewNavigationTypeOther) {相反。

这可行,但不幸的是,第一次加载页面时会跳转到 Safari。我只想在 Safari 中加载后续页面。

有没有办法检测页面第一次加载,然后阻止其在 Safari 中打开,但允许后续请求在 Safari 中打开?非常感谢!

最佳答案

您可以使用下面的代码,如果您有任何疑问,请告诉我...

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[urlArr objectAtIndex:indexPath.row]]]; 

关于ios - 仅在初始加载后从 UIWebView 加载 Safari 中的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14499683/

相关文章:

iphone - 在 UIWebView 中停止视频

ios - iOS:我应该使用EST或EDT,为什么?

xcode - UIViewController 中的 "presentedViewController"是什么意思?

html - 我可以在html中更改img src吗?

javascript - 如何将 HTML 字符串传递给 UIWebView 中的 javascript 函数,iOS

swift - 在 XCode 中编写模块化 UI 测试

ios - UIDocumentPickerViewController 委托(delegate)在演示者的 viewWill/DidAppear 之前调用

ios - 来自 NSDictionary 的 EXC_BAD_ACCESS

ios - 执行由 UITableViewCell 调用的 Segue

ios - 迦太基和谷歌地图