草庐IT

WKWebView_scripting

全部标签

ios - WKWebView completionHandler 在解雇前调用

我正在使用WKUIDelegate这个函数来处理javascript警报-(void)webView:(WKWebView*)webViewrunJavaScriptAlertPanelWithMessage:(NSString*)messageinitiatedByFrame:(WKFrameInfo*)framecompletionHandler:(void(^)(void))completionHandler{UIAlertView*alert=[[[UIAlertViewalloc]initWithTitle:NSLocalizedString(@"TestAlert",nil

ios - 如何使用 WKWebview 检查 phonegap 应用程序

找不到信息。我使用“cordova-plugin-wkwebview-engine”构建了pg应用程序。如何检查ios9.2上的phonegapweb应用程序是否真的使用WKWebview?找不到WKWebView的userAgent字符串的外观信息。 最佳答案 以前的答案在iOS10上不起作用,但您可以使用此代码if(window.webkit){//WKWebView}旧答案:您可以检查indexedDBif(window.indexedDB){//WKWebView} 关于ios-

ios - WKWebview:禁用交互和点击链接

有没有办法禁用webview上的交互?这样用户就不能比加载的webview更进一步?编辑:禁用UserInteractions不是解决方案,因为网站仍然必须是可滚动的。 最佳答案 实现WKNavigationDelegate协议(protocol):@interfaceViewController()设置WKWebView的navigationDelegate属性:self.wkWebView.navigationDelegate=self;然后为您要限制的URL实现政策:-(void)webView:(WKWebView*)web

ios - 我无法捕获 WKWebView 的屏幕截图

我正在trycatchWKWebView的屏幕截图,但我的方法无法正常工作,它返回纯色,就好像层树是空的,而它似乎适用于其他View。-(UIImage*)screenshot{UIImage*screenshot;UIGraphicsBeginImageContext(self.frame.size);[self.layerrenderInContext:UIGraphicsGetCurrentContext()];screenshot=UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();re

ios - WKWebView 打不开外部链接

所以我在将我的UIWebView应用程序转换为WKWebView的过程中才发现它不会打开外部网站,即dropbox、facebook等。它在viewDidLoad中加载我的网站,所以这不是问题。例子:NSURL*nsurl=[NSURLURLWithString:@"example.com"];NSURLRequest*nsrequest=[NSURLRequestrequestWithURL:nsurl];[webViewloadRequest:nsrequest];webView.navigationDelegate=self;webView.UIDelegate=self;[se

ios - 下载文件 WKWebView ios

我正在将我的应用程序从UIWebView迁移到WKWebView。随着我对它进行更多的修改,一切都进展顺利并且工作正常。但是,我现在发现无法下载论坛附件。我正在使用HCDownload,到目前为止,它对我来说一直很完美,所以我知道它不是那么好。我相信这是请求,但我无法理解。我知道以下内容:UIWebView=>WKWebViewEquivalent--------------------------------------------------------------didFailLoadWithError=>didFailNavigationwebViewDidFinishLoad

ios - UIWebView 和 WKWebView 的键盘 "done"按钮按下事件

在使用UITextView时有相关资源。如何注册Done键按钮按下事件?当用户在webView中聚焦表单时,键盘就会出现。 最佳答案 主要思想是使用Javascript注入(inject)来实现你想要的。您可以trycatch名为onfocusout的DOM事件(有关详细信息,请参阅http://www.w3schools.com/jsref/event_onfocusout.asp)。以下是如何为UIWebView执行此操作的示例。WKWebView可以用类似的方式处理。在第一次加载webview后调用它来注入(inject)一些

ios - 如何在 Swift 中监控 WKWebView 页面加载进度?

这是我的代码:@IBOutletweakvarwebView:WKWebView!@IBOutletweakvarprogressView:UIProgressView!overridefuncviewDidLoad(){super.viewDidLoad()webView.uiDelegate=selfwebView.navigationDelegate=selfwebView.addObserver(self,forKeyPath:"estimatedProgress",options:.new,context:nil)}overridefuncobserveValue(forKe

ios - 如何为 WKWebview 添加超时

当没有为didFailNavigation调用默认委托(delegate)时,如何为WKWebView编写超时处理程序。WKWebView委托(delegate)已设置,DidFinishNavigation或didFailProvisionalNavigation正在调用。 最佳答案 使用didFailProvisionalNavigation创建的错误的error.code值并在其中添加您的“处理程序”代码:funcwebView(webView:WKWebView,didFailProvisionalNavigationnav

ios - 如何阻止外部资源加载到 WKWebView 上?

我有一个加载网页的应用程序,但阻止下载图像、字体、javascript等。为此,我实现了一个NSURLProtocol子类,它与UIWebView配合得很好。但是我正在迁移到WKWebview,并意识到我精心制作的NSURLProtocol类不再适用于过滤掉这些资源。有人知道如何实现过滤/阻止吗?如果您想知道我是如何进行迁移的,我从这篇文章开始:http://floatlearning.com/2014/12/uiwebview-wkwebview-and-tying-them-together-using-swift/ 最佳答案