草庐IT

WKwebview

全部标签

ios - WKWebView drawViewHierarchyInRect 不会在手机上呈现 webGL 内容

我的应用有一个WKWebView,它显示一个包含一些webGL内容的网页。我使用drawViewHierarchyInRect在网页加载后将WKWebView呈现为图像。这在模拟器上运行良好,但在手机上,webGL内容不会渲染到图像中。网页的其余部分呈现正常。在手机上,drawViewHierarchyInRect调用返回false(文档说“如果快照缺少层次结构中任何View的图像数据,则返回false”)。这是我使用的代码:UIGraphicsBeginImageContextWithOptions(webView.bounds.size,true,0.0)letdrewOK=web

javascript - 键盘启动时,Cordova ios WKWebView 第一个 touchstart 事件未触发

我刚刚将我的cordova应用程序从UIWebView升级到WKWebView,我注意到当我在contenteditable上设置输入(调出键盘)然后单击contenteditable外部的按钮时,第一个touchstart事件不会触发(或者更准确地说,它会触发,但仅在window上触发,而不是在按钮上触发)。下一个touchstart按预期工作。我需要触摸启动来调出联系人列表(而不是关闭键盘)。有人知道这是怎么回事吗?谢谢! 最佳答案 看起来这实际上是我没有缩小视口(viewport)造成的(可能与https://github.c

ios - 缓存 URL 响应以使用 WKWebView 进行离线查看

我试图预先缓存网页URL(当应用程序启动时,在WKWebView加载之前),以便将已经缓存的响应数据加载到WKWebView中,并按顺序即使应用程序以离线模式(无互联网连接)启动,也可以向用户显示缓存数据。我尝试了NSURLSession以从NSURLRequest获取URL响应和数据,并将此数据作为HTML字符串保存到内存中,然后将HTML字符串加载到WKWebView。但这里的问题是WebView只显示文本(而不是图像等)。还有一堆图像需要加载到WebView中。谁能帮我解决这种缓存?提前致谢! 最佳答案 最好的办法是尝试使用A

ios - WKWebView 在本地网页加载时挂起,具有特定的 Web 配置。

我有一个WKWebView,它使用WKWebViewConfiguration加载一组本地网页,以将@"allowFileAccessFromFileURLs"的配置设置为true。请求是这样设置的:NSURL*url=[[NSBundlemainBundle]URLForResource:@"testPage"withExtension:@"html"subdirectory:@"html/pages"];NSURLRequest*req=[[NSURLRequestalloc]initWithURL:urlcachePolicy:NSURLRequestReloadIgnoring

ios - 使用硬件加速内容截取 WKWebview 的屏幕截图

当有硬件加速内容(一些在iframe中运行的特定赌场游戏)时,我在截取WKWebview内容时遇到了严重的问题。到目前为止,我按照大家的建议使用了标准的截屏方式:UIGraphicsBeginImageContextWithOptions(containerView.frame.size,true,0.0)containerView.layer.render(in:UIGraphicsGetCurrentContext()!)//ThislinehelpstofixviewrenderingfortakingscreenshotonolderiOSdevicescontainerVie

javascript - WKWebView:应用程序崩溃并出现 'NSInternalInconsistencyException' 异常,因为 'Completion handler passed to X was not called'

当尝试在iOS上的WKWebView中同时显示两个JavaScript警告框时,会发生以下异常。应用因此崩溃。2017-12-2300:46:29.434Couch[3192:3428809]***Terminatingappduetouncaughtexception'NSInternalInconsistencyException',reason:'Completionhandlerpassedto-[XViewControllerwebView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandle

ios - 如何在原始 WkWebview 调用后拦截 http/https 调用?

我们拥有的iOS应用程序有一个WkWebview,它尝试通过调用https端点与我们的服务器通信。服务器的工作方式类似于代理,所有对我们端点的调用都会将请求转发到目标站点。例如-在我们的应用程序中,如果我们将目的地设置为https://www.google.com该应用程序会将其转换为https://server.com/http://www.google.com.我们试图解决的问题是在原始WkWebview调用之后拦截所有http/https调用。这包括所有资源调用,如css和javascript文件。我们尝试使用自定义方案处理程序,但由于我们不在服务器端解析html/css,因此我

ios - 如何截屏透明背景的WKWebView?

我有一个具有透明背景的WKWebView,我想在保持透明度的同时捕获图像中的Web内容。我无法使用takeSnapshotWithConfiguration、drawViewHierarchyInRect或renderInContext进行此操作。我认为这可能是不可能的。这是我的takeSnapshotWithConfiguration方法的代码:WKSnapshotConfiguration*wkSnapshotConfig=[WKSnapshotConfigurationnew];wkSnapshotConfig.snapshotWidth=[NSNumbernumberWithI

ios - 检测 WKWebView 组件内的播放视频

使用WKWebView组件和iOS8,是否可以知道用户是否点击了嵌入视频并开始播放? 最佳答案 你可以试试thissolutionfromPauloFierro. 关于ios-检测WKWebView组件内的播放视频,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/29087216/

ios - 如果用户拒绝访问相机,如何防止 WKWebView 显示相机模式?

在我的应用中,我有一个WKWebView加载一个带有文件输入的网站,允许用户通过相机或照片库上传图像。我的应用有相机和照片库的隐私使用说明。如果用户拒绝访问相机,WKWebView仍会显示通过相机上传图像的选项,并且会显示相机模态(尽管它只在您通常会显示的地方显示黑色查看相机显示的图像)。如果用户滑动到相机模式中的视频选项,应用程序会崩溃。相关堆栈跟踪显示:3TCC__TCCAccessRequest_block_invoke_2.80+2224TCC__CRASHING_DUE_TO_PRIVACY_VIOLATION__+682在这种情况下,是否可以从native应用程序端(假设我