草庐IT

WKwebview

全部标签

ios - 加速 loadHTMLString-d 内容的 WKWebView 呈现的策略?

我一直在尝试在UINavigationController中堆叠WKWebView,以此作为制作比PhoneGap更原生的混合应用程序的方法。它广泛工作-当WKWebView点击链接时,我连接到decidePolicyForNavigationAction,并使用它想要的链接推送一个新的ViewController。但是页面加载很慢。我已经做了我能想到的一切来加速它——它使用loadHTMLString而不是请求来确保一切都是本地的——我什至尝试剥离CSS和JS以查看是否可以加速它,但没有骰子。一个简短的、只有HTML的、本地存储的页面出现在空的WKWebView中仍然需要至少500毫

ios - 如何确定 WKWebView 崩溃的原因

我在为iOS8+构建的Swift应用程序中使用WKWebView。我在我的应用程序的各种View中使用WKWebView的实例,例如在我的选项卡ViewController的每个选项卡中,界面都是基于WKWebView的。我和我的测试人员注意到这些View有时会完全空白,在研究该问题后,WKWebView似乎会崩溃,结果就是空白View。幸运的是,由于WKWebView的运行方式,它不会导致应用程序崩溃,但我也不清楚如何捕获/记录有关导致它崩溃的原因的信息(如果这确实发生了什么)。如何确定WKWebView是否/为何崩溃?我目前解决这个问题的方法是我使用KVO(实际上是Facebook

javascript - alert() 在 WKWebview 中不起作用 evaluateJavaScript()

我不明白为什么我的问题被标记为与thisone重复,首先我用evaluateJavaScript执行javascript代码,因为问题标题显示它与那个问题明显不同。更重要的是,我注意到我在问题正文的末尾尝试了那个问题的答案,但没有成功。我使用wkwebview.evaluateJavaScript()函数在swift3的wkwebview中执行javascript。但是alert()没有打开警报对话框。并且没有错误和问题显示。虽然我可以使用evaluateJavaScript()来执行javascript代码来修改页面内容。classWebViewController:UIViewCo

javascript - 当没有互联网访问时,WKWebView 不会完成/超时

在我通过WkWebView导航到的本地HTML页面上有一个远程JavscriptAssets标签,它从未完成下载(在这两种情况下,iOS设备未连接到互联网,或者设备的互联网速度太慢).不幸的是,WKWebView永远不会中止尝试下载此Assets,也不会将其转移到我的WKNavigationDelegate(即-webView:didFailNavigation:withError:或-webView:didFinishNavigation:既不是被调用),所以用户会被一个空白的HTML页面困住,这个页面永远不会完全解析,也永远不会出错。谢天谢地,在某些情况下,我通过Safari远程i

javascript - 在 iOS 应用程序中更改 WKWebView 的来源

我有一个以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吗?

ios - WKWebView 捕获 HTTP 错误代码

当我从我的页面返回任何http错误时(目前是401,但我也尝试过404等等)http://min60.com/__personal/e401.phpWKWebView的委托(delegate)回调不返回错误-(void)webView:(WKWebView*)webViewdidFailProvisionalNavigation:(WKNavigation*)navigationwithError:(NSError*)error-(void)webView:(WKWebView*)webViewdidFailNavigation:(null_unspecifiedWKNavigatio

ios - 在 WKWebView 中启动电话/电子邮件/ map 链接

KINWebBrowser是用于iOS应用程序的开源Web浏览器模块。我最近升级了KINWebBrowser以使用WKWebView开始逐步淘汰UIWebView。这产生了显着的改进,但是:问题:WKWebView不允许用户启动包含电话号码、电子邮件地址、map等URL的链接。当从显示页面作为链接启动时,如何配置WKWebView以启动这些备用URL的标准iOS行为?所有codeisavailablehere有关WKWebKit的更多信息参见issueontheKINWebBrowserGitHubhere 最佳答案 通过将此函数添

ios - 在 WKWebView 中禁用整个 UIMenuController 编辑菜单

要求我有一个WKWebView并想从编辑菜单中删除系统菜单项(复制、定义、共享...)并显示我自己的菜单项。我的目标是iOS8和9。我目前正在使用Xcode7.0.1模拟器(iOS9)和运行iOS9.0.2的iPhone6进行测试。标准方法不起作用我知道实现这一目标的标准方法是子类化WKWebView并实现-canPerformAction:withSender:。但是,我发现WKWebView-canPerformAction:withSender:没有被调用用于copy:或define:Action。这似乎是一个已知错误(WKWebViewandUIMenuController)。

javascript - 在 JavaScript 中检测页面是否加载到 WKWebView 中

如何使用javascript可靠地检测页面是否加载到WKWebView中?我希望能够检测到这些情况:iOS和WKWebViewiOS和Safari不是iOS关于UIWebView也有类似的问题here.但它已经很老了,我不确定是否同样适用于WKWebView。 最佳答案 已接受的答案在使用WKWebViewvsUIWebViewapp测试时无效如文章所述,唯一的HTML5功能差异是IndexedDB支持。所以我会选择一个更可靠的模式:if(navigator.platform.substr(0,2)==='iP'){//iOS(iP

ios - 我什么时候可以使用带有通用链接的 SFSafariViewController、WKWebView 或 UIWebView?

在UniversalLinks节iOSAppSearchProgrammingGuide,苹果说:IfyouinstantiateaSFSafariViewController,WKWebView,orUIWebViewobjecttohandleauniversallink,iOSopensyourwebsiteinSafariinsteadofopeningyourapp.However,iftheusertapsauniversallinkfromwithinanembeddedSFSafariViewController,WKWebView,orUIWebViewobject,