草庐IT

WKWebView_scripting

全部标签

ios - WKWebView 与 UIWebView

我有一个部署目标版本为iOS10的应用程序/项目。我曾经使用过UIWebView,现在已弃用并被WKWebView取代。所以,我也想在我的项目中用WKWebView替换UIWebView。这迫使我要么使用UIWebView(使用iOS10),要么将部署目标更改为iOS11。我无法更改部署目标,但作为中间件解决方案,我为两者添加了代码(以编程方式)支持。我的意思是,如果用户的设备操作系统是iOS11(或更高版本),则使用WKWebView否则使用UIWebView(适用于iOS10或更低版本)。问题声明:Storyboard的ViewController不支持这两个版本,我的意思是,在S

ios - 监听 WkWebView 的导航事件

我是Xamarin和iOS的新手。我正在尝试在XamarinForms中创建一个自定义渲染器来渲染WkWebView。我希望当用户点击webView中的链接时调用我的DidStartProvisionalNavigation()方法,但那没有发生,我不知道为什么。我正在尝试使用Xlab的HybridViewRender作为引用。有人能告诉我如何让WkWebView在用户点击链接时调用DidStartProvisionalNavigation()吗?谢谢这是我使用WkWebView的自定义IOS渲染器的源代码。publicclassHybridWebViewRenderer:ViewRe

javascript - 获取来自 WKWebView 的 JavaScript 错误

我实现了WKScriptMessageHandler协议(protocol)并且定义了userContentController(:didReceiveScriptMessage:)方法。当Javascript出现错误时,我(在WKScriptMessage对象中)得到了一些不太有用的东西,比如:{col=0;file="";line=0;message="Scripterror.";type=error;}另一方面,如果我打开SafariWebInspector,我可以看到真正的错误(例如):类型错误:FW.Ui.Modal.sho不是函数。(在'FW.Ui.Modal.sho'中,

ios - 使用 Apple Script 将多个文件从多个文件夹移动到一个

在谷歌搜索我的问题时发现了这个论坛,我真的找不到答案。我不是程序员,但我只是想了解如何使用AppleScript将多个文件移动到一个文件夹中。我有一个包含大约900张图像及其相应文本文件的文件夹,下载后,每个文件都包含在第一个文件夹内的一个单独文件夹中(因此每个文件夹一个图像文件和一个文本文件x900。)我想得到这些个人文件从各自的文件夹中取出,并将所有900个图像文件加上900个相应的文本文件放在一个文件夹中,因此我可以一次查看所有图像。执行此操作的正确脚本是什么?我试过:tellapplication"Finder"move(everyfileofeveryfolderofwind

ios - UISplitViewController+UIPageViewController+WKWebView = 有时无法翻页

我有一个UISplitViewController,其详细信息是UIPageViewController。每个页面ViewController只显示一个WKWebView。问题是在横向模式下的iPhone6(s)Plus上,我无法使用页面ViewController从一个页面滚动到另一个页面如果显示的html包含非常常见的.我仍然可以滚动、缩放和平移WKWebView,但UIPageViewController根本不允许我翻页。此问题不会出现在其他水平规则的环境中(iPad处于任一方向),也不会出现在任何紧凑型环境中(纵向模式的iPhone6Plus或其他iPhone)。UIPageV

ios - 通用链接不适用于 WKWebView

我公司有基于web-view的应用程序和其他native应用程序。我们使用universallinks在需要时将用户重定向到其他应用程序(其他应用程序仍然支持universallinks-我可以通过点击AppleNotesapp)。我们最近过渡到WKWebView(从UIWebView),这提供了更好的体验。但是更新后UniversalLinks停止工作,当用户在我们的应用程序中按下链接时,我们无法启动其他应用程序。根据文档:"UniversallinksletiOS9usersopenyourappwhentheytaplinkstoyourwebsitewithinWKWebVie

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