草庐IT

WKwebview

全部标签

ios - 如何覆盖 wkwebview 超链接操作表

当您长按WkWebview中的超链接时,您会看到一个操作表。我想在长按时用我自己的一组选项覆盖该操作表,但否则表现正常。我可以获得长按事件,但我不知道如何:阻止显示默认操作表防止webview在长按结束时导航到URL。获取webview直接指向的基础hrefURL或htmla标记本身和相关属性,例如ID。 最佳答案 取消操作表的一种简单(但激进)的方法是覆盖presentViewController:animated:completion:在您应用的RootViewController中。swift3示例overridefuncpr

javascript - 什么是 WKWebView 的 WKErrorDomain 错误 4

fatalerror:LPWebViewencountersanerror:ErrorDomain=WKErrorDomainCode=4"AJavaScriptexceptionoccurred"UserInfo=0x79d9c700{NSLocalizedDescription=AJavaScriptexceptionoccurred}我在尝试使用WKWebView评估JavaScript函数时遇到此错误。我使用loadHTMLString将模板加载到webview。letbundle=NSBundle.mainBundle()ifleteditorURL=bundle.URLFo

ios - WKWebView 使用 Swift 4 捕获 HTTP 错误代码

此问题与以下问题相同:WKWebViewcatchHTTPerrorcodes;不幸的是,Obj-C中的方法不适用于Swift4,因此引用的WKNavigationResponse.response不再是NSHTTPURLResponse类型,因此它没有http状态代码.但问题仍然是一样的:我需要获取答案的http状态代码以检测是否加载了预期的页面。请注意webView(_webView:WKWebView,didFailProvisionalNavigationnavigation:WKNavigation!,withErrorerror:Error)委托(delegate)不会在4

ios - 内容更改时 WKWebView 不调整大小

当内容更改时,WKWebView不会调整大小。这是一个代码片段:@IBOutletweakvarcontainingView:UIView!varwebView:WKWebView!overridefuncviewDidLoad(){super.viewDidLoad()letcontentController=WKUserContentController();self.webView=WKWebView(frame:CGRectMake(0,0,self.view.frame.width,self.view.frame.height),configuration:WKWebView

swift - iOS 12 wkwebview 无法使用重定向?

我有一个基本的webview,它加载了一个由nginx反向代理前端的网站,该代理只是将它转发到另一个网站。我可以在设备和模拟器(以及计算机)上使用safari、chromefirefox等加载它,但是当我尝试在wkwebview中加载它时,它会闪烁几次然后进入空白屏幕。注意同一个应用程序在iOS10-11中运行良好,但现在在iOS12中出现问题。下面是一个简单的代码摘录,展示了我正在做的事情:importUIKitimportWebKitclassViewController:UIViewController,WKUIDelegate{varwebView:WKWebView!over

ios - 获取使用 WKWebView 点击的所有项目的 URL

我有一个WKWebView在iOS中加载页面。如果用户导航到WKWebView中的另一个页面,我可以获得他们点击的URL,如下所示:varclickedUrl=String()funcwebView(webView:WKWebView,didFinishNavigationnavigation:WKNavigation!){clickedUrl=webView.URL?.absoluteStringasString!//GETSURLOFCURRENTPAGELOADED}如果用户访问YouTube,clickedUrl=http://www.youtube.com,这很棒。但是...

swift - WKWebView 和 NSURLCache 提供本地内容

我的应用程序在UIWebView中加载了一个非常大的网络应用程序。我写了一个NSURLCache扩展“LocalCache”。此LocalCache扩展拦截我的webapp加载,并从加密的本地应用程序包中提供所有请求的文件。此逻辑在NSURLCache的cachedResponseForRequest方法中实现。因此,该应用100%在本地提供:classLocalCache:NSURLCache{overridefunccachedResponseForRequest(request:NSURLRequest)->NSCachedURLResponse?{if(requestpoint

swift - 检测 WKWebView 何时完成加载

如何检测我的WKWebView何时完成加载,以便我可以从中获取URL,例如使用委托(delegate)方法?我为WKWebView实现了委托(delegate)方法,但我无法检测到它何时完成加载视频。importUIKitimportWebKitclassViewController:UIViewController,WKUIDelegate,WKNavigationDelegate{varwebView:WKWebView!overridefuncviewDidLoad(){super.viewDidLoad()letpreference=WKPreferences()prefere

ios - prefersLargeTtitles 加载WKWebView网页后自动折叠

在WKWebView中的网页完成加载后,我遇到了大标题折叠的问题。HereisGIFexampleofwhathappens.我浏览了整个互联网,发现了两个可能指向正确方向的帖子:prefersLargeTitlesnotalwayshonored-AppleDeveloperForumsprefersLargeTitles-Displayscorrectlyforasplitsecondthencollapses-Reddit我希望大标题在网页加载时出现并保留在原位。当用户向上滚动(在网页上向下滚动)时,大标题应该折叠成较小的版本。如果用户返回到网页顶部,大标题应该再次出现。这是我为

ios - 使用 WKWebView 修改键盘工具栏/附件 View

我正在使用带有可编辑内容的div的WKWebView作为富文本编辑器的核心,并且想修改键盘上方的顶部工具栏——包含自动更正建议和格式设置按钮的工具栏。(不确定这是否算作输入附件View)。我找到了一些展示如何删除栏的帖子,但它们似乎都不起作用,理想情况下我还是想保留自动更正部分。至少有一个应用程序Ulysses可以做到这一点(虽然我不知道它是否具有WebView):事实上,我很确定我可以通过对键盘View层次结构进行手术来实现它……但这似乎是一种乏味且脆弱的方法。有没有更好的办法?谢谢! 最佳答案 也许thistutorial在UI