英语轻松读发新版了,欢迎下载、更新

请教一个问题,WKWebview打开优酷之后不能继续打开2级界面。

sunyawang 发布于 2015年03月18日 | 更新于 2016年09月11日
无人欣赏。

最近在把UIWebview切换为WKWebview,遇到一个问题无法解决,请教各位!

代码很简单,是初始化一个WKWebview,然后加载优酷,

问题是打开之后,所有影片都无法点击,只有上面的“电视剧,电影”这种导航可以点。

但是如果加载的是爱奇艺或者乐视就都没有问题。

WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc]init];
config.allowsInlineMediaPlayback = YES;
config.mediaPlaybackRequiresUserAction = YES;
m_webView = [[WKWebView alloc]initWithFrame:CGRectMake(0, 30, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - 30) configuration:config];
m_webView.backgroundColor = [UIColor redColor];
[self.view addSubview:m_webView];

[m_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.youku.com"]]];

[m_webView addObserver:self forKeyPath:@"estimatedProgress" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];

我把测试项目放在百度云盘了,下载地址: http://pan.baidu.com/s/1kTGa6kJ

需要用真机调试,因为模拟器会一直重定向,最后url会变成null导致网页无法打开。

非常感谢!

共2条回复
liuchang8877 回复于 2016年08月29日

没法打开是因为,优酷主页用了 target=“_blank”,打开新页面. 处理方法 参考 1.http://www.jianshu.com/p/3a75d7348843 2.http://stackoverflow.com/questions/25713069/why-is-wkwebview-not-opening-links-with-target-blank

- (WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures
{

  if (!navigationAction.targetFrame.isMainFrame) {

    [webView loadRequest:navigationAction.request];
  }

  return nil;
}
q3970643999 回复于 2016年09月11日

target="_blank" 直接全部替换掉就ok

登录 或者 注册