Tag: wkwebview

WKWebView自定义长按菜单工作,但有一些重大问题

当用户长按一个链接时,出现一个警报控制器,其中包含以下选项: 打开 在新标签中打开 复制 目前有两个问题: 如果用户在WKWebView完成导航之前执行长按,则默认(Safari)警报控制器出现。 如果用户在popup的animation出现之后抬起手指,WKWebView将其注册为轻击并导航到该链接,同时警报控制器仍然显示在屏幕上。 这个机制有三个部分。 首先, 在WKWebView完成导航之后,JavaScript被注入到禁用默认警报控制器的页面。 – (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation { [_webView evaluateJavaScript:@"document.body.style.webkitTouchCallout='none';" completionHandler:^(id result, NSError *error){ NSLog(@"Javascript: {%@, %@}", result, error.description); }]; } 其次, UILongPressGestureRecognizer被添加到WKWebView中,并被实现,以便根据触摸的位置find元素的属性。 – (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { return YES; } – (void)longPress:(UILongPressGestureRecognizer *)longPressGestureRecognizer { if (longPressGestureRecognizer.state == UIGestureRecognizerStateBegan) { _shouldCancelNavigation = YES; CGPoint touchLocation = […]

WKWebView捕获HTTP错误代码

当我从我的页面返回任何http错误(目前401,但我也尝试与404等) http://min60.com/__personal/e401.php WKWebView的委托callback不会返回错误 – (void)webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation *)navigation withError:(NSError *)error – (void)webView:(WKWebView *)webView didFailNavigation:(null_unspecified WKNavigation *)navigation withError:(NSError *)error { 如何捕捉这样的错误?

WKWebView的透明背景

在我的应用程序中,我希望使WKWebView具有透明背景,所以背后(一个ImageView)的视图可以作为背景图片显示。 webView!.opaque = false webView!.backgroundColor = UIColor.clearColor() 上面的代码与UIWebView工作正常,但如果webView是WKWebView,将显示一个白色背景。 也尝试在CSS中放置透明背景颜色。 结果是一样的,只能在UIWebView中使用,而不能在WKWebView中使用。 任何build议?

使用WKWebView创build自定义ORKStep

我对iOS开发比较陌生,目前使用Swift来开发一个原型的ResearchKit应用程序。 其中一个要求是在一个WKWebView中embedded一个WKWebView ,包含三个步骤: ORKQuestionStep , ORKWebViewStep , ORKCompletionStep 。 我似乎无法find关于如何使用Swift子类化ORKStep和ORKStepViewController创build自定义步骤的很多信息。 有人可以指导我正确的方向如何子类ORKStep和ORKStepViewController显示使用Swift的WKWebView ? 先谢谢你!

WKWebViewcookies

我使用下面提到的方法在WKWebview设置cookie: 我可以设置WKWebView使用的cookie吗? 但是我设置的cookie在AJAX调用中被复制。 我的意思是他们被重复了两次。 这是我使用的代码片段: NSString *strURL = DASHBOARDURL; NSURL *url = [NSURL URLWithString:strURL]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setURL:url]; NSMutableString *script = [[NSMutableString alloc] init]; NSMutableString *cookieString = [[NSMutableString alloc] init]; for (NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) { [script appendString:[NSString stringWithFormat:@"document.cookie='%@';",cookie.getCookieString]]; [cookieString appendString:[NSString stringWithFormat:@"%@;", cookie.getCookieString]]; } [request setValue:cookieString forHTTPHeaderField:@"Cookie"]; //cookies for […]

在iOS中使用Swift获取Javascript函数响应

我想弄清楚如何在我的iOS应用程序中使用swift平台实现JavaScript函数 。 我已经尝试了链接中指定的示例代码 https://tetontech.wordpress.com/2014/07/15/swift-to-javascript-and-javascript-to-swift-a-round-trip/ 但我想要以同样的方式,像android所做的一样,在http://android-er.blogspot.in/2011/10/call-javascript-inside-webview-from.html 你能帮我一下吗? 任何帮助将深深appriciated。

我无法捕捉到WKWebView的截图

我试图捕获一个WKWebView的截图,但我的方法无法正常工作,它返回一个纯色,就像图层树是空的,而它似乎在其他视图上工作。 – (UIImage *)screenshot { UIImage *screenshot; UIGraphicsBeginImageContext(self.frame.size); [self.layer renderInContext:UIGraphicsGetCurrentContext()]; screenshot = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return screenshot; }

WKWebView如何显示到http:网页的链接

我有一个WKWebView ,它将使用在线收集的链接显示用户的网页。 有时这些链接是http:它们被ATS阻止。 我试着简单地将链接改为https:这有时候起作用。 但是,经常出现错误“发生SSL错误,无法与服务器build立安全连接”。 有时候,页面只是redirect到http: :,再次被阻塞。 其他时候, https:页面只是“未find”。 删除http:仅导致"Unsupported URL"错误。 有没有办法让WKWebView显示这些页面? 请不要提示NSAllowsArbitraryLoads ,甚至每个域的例外(事先不知道域名是什么),页面加载完美的Safari,甚至移动Safari,所以它必须是可能的。

我怎么能用WKWebView做清单请求

我试图在我的应用程序中使用新的WebView,但似乎WKWebView无法与NSURLCache一起NSURLCache ,并且Manifest请求不起作用,没有请求被加载,也没有存储任何内容。 除了使用NSURLCache和Manifest之外,一切似乎都使用WKWebView代替UIWebView ,所以我不知道是否有一些方法可以解决这个问题。 PS我已经尝试过私人API _setOfflineApplicationCacheIsEnabled:它可以工作,但使用非公开API的应用程序将被苹果拒绝…我现在没有想法。

iOS 11(Beta)中的webKit是否支持WebRTC?

我有一个与iOS11(Beta)上的Safari工作正常的urlaudio/video工作正常。 但是当我用WKWebView加载这个URL时,它给了我一个错误“不兼容的浏览器”,当我在WebKit中检查我的浏览器版本时,它显示“iOS 11上基于WebKit的浏览器” 所以问题是,苹果是否在iOS 11开发者testing版的WKWebview webkit(它应该与Safari相同)中包含这一变化?