我正在将WKWebView集成到我们的应用程序中。并看到各种问题。最烦人和阻塞的是间歇性黑屏。它可以触发我的很多东西,导航,缩放等等。当我检查WKWebView中的View层次结构时,我可以看到很多subview都丢失了。当我联系检查员时,HTML已正确加载。有时,我可以在控制台日志中看到一条消息:Receivedaninvalidmessage"RemoteLayerTreeDrawingAreaProxy.CommitLayerTree"fromthewebprocess.我们已经向Apple提交了几个雷达。有没有人遇到过类似的问题并四处走走? 最佳答案
我正在围绕WKWebView构建混合iOS应用程序。当用户点击一个链接时,请求被劫持,一个新的ViewController被推送到导航堆栈上。新Controller创建一个新的WKWebView并加载现有请求。这使应用程序“感觉”是原生的,但内容呈现在网络上。通过使用Safari调试工具,我注意到在WebView之间没有缓存任何Assets。但是,如果我在现有WebView中重新请求某些内容,所有JavaScript和CSS都被标记为“已缓存”。那么,是否可以在WKWebView实例之间共享缓存呢?他们已经是sharingthesameWKProcessPooltosharecooki
嘿,我有一个带有WatchExtension的iOS应用程序。当启动AppleWatch应用程序时,它会启动iPhone应用程序并通过每隔几秒发送一次sendMessage调用来保持它的事件。iPhone应用程序然后导航到WKWebView中的网站,每隔几秒检查一次其内容,然后将一些数据发送到AppleWatch以便在那里显示。在AppleWatch上显示不断更新的内容非常好,我在iPhone上这样获取数据:self.webView.evaluateJavaScript("document.documentElement.outerHTML.toString()",completion
我一直在尝试在UINavigationController中堆叠WKWebView,以此作为制作比PhoneGap更原生的混合应用程序的方法。它广泛工作-当WKWebView点击链接时,我连接到decidePolicyForNavigationAction,并使用它想要的链接推送一个新的ViewController。但是页面加载很慢。我已经做了我能想到的一切来加速它——它使用loadHTMLString而不是请求来确保一切都是本地的——我什至尝试剥离CSS和JS以查看是否可以加速它,但没有骰子。一个简短的、只有HTML的、本地存储的页面出现在空的WKWebView中仍然需要至少500毫
我在为iOS8+构建的Swift应用程序中使用WKWebView。我在我的应用程序的各种View中使用WKWebView的实例,例如在我的选项卡ViewController的每个选项卡中,界面都是基于WKWebView的。我和我的测试人员注意到这些View有时会完全空白,在研究该问题后,WKWebView似乎会崩溃,结果就是空白View。幸运的是,由于WKWebView的运行方式,它不会导致应用程序崩溃,但我也不清楚如何捕获/记录有关导致它崩溃的原因的信息(如果这确实发生了什么)。如何确定WKWebView是否/为何崩溃?我目前解决这个问题的方法是我使用KVO(实际上是Facebook
我不明白为什么我的问题被标记为与thisone重复,首先我用evaluateJavaScript执行javascript代码,因为问题标题显示它与那个问题明显不同。更重要的是,我注意到我在问题正文的末尾尝试了那个问题的答案,但没有成功。我使用wkwebview.evaluateJavaScript()函数在swift3的wkwebview中执行javascript。但是alert()没有打开警报对话框。并且没有错误和问题显示。虽然我可以使用evaluateJavaScript()来执行javascript代码来修改页面内容。classWebViewController:UIViewCo
在我通过WkWebView导航到的本地HTML页面上有一个远程JavscriptAssets标签,它从未完成下载(在这两种情况下,iOS设备未连接到互联网,或者设备的互联网速度太慢).不幸的是,WKWebView永远不会中止尝试下载此Assets,也不会将其转移到我的WKNavigationDelegate(即-webView:didFailNavigation:withError:或-webView:didFinishNavigation:既不是被调用),所以用户会被一个空白的HTML页面困住,这个页面永远不会完全解析,也永远不会出错。谢天谢地,在某些情况下,我通过Safari远程i
我有一个以WKWebView为中心的iOS混合应用程序,使用loadFileURL加载本地网络资源.WKWebView使用jQuery.ajax通过HTTPS与后端API通信。该应用程序仅限移动设备,我希望API也“仅限移动设备”。也就是说,我想阻止Chrome和Firefox等浏览器使用该API。我的策略是在API响应上设置Access-Control-Allow-Originheader,如下所示:Access-Control-Allow-Origin:app://myApp我可以将WKWebView的来源更改为app://myApp以避免浏览器查询API吗?
当我从我的页面返回任何http错误时(目前是401,但我也尝试过404等等)http://min60.com/__personal/e401.phpWKWebView的委托(delegate)回调不返回错误-(void)webView:(WKWebView*)webViewdidFailProvisionalNavigation:(WKNavigation*)navigationwithError:(NSError*)error-(void)webView:(WKWebView*)webViewdidFailNavigation:(null_unspecifiedWKNavigatio
KINWebBrowser是用于iOS应用程序的开源Web浏览器模块。我最近升级了KINWebBrowser以使用WKWebView开始逐步淘汰UIWebView。这产生了显着的改进,但是:问题:WKWebView不允许用户启动包含电话号码、电子邮件地址、map等URL的链接。当从显示页面作为链接启动时,如何配置WKWebView以启动这些备用URL的标准iOS行为?所有codeisavailablehere有关WKWebKit的更多信息参见issueontheKINWebBrowserGitHubhere 最佳答案 通过将此函数添