userContentController
全部标签 我正在使用WKWebview来运行javascript脚本。我没有使用JSContextet.al,因为我需要javascript上下文才能执行单独使用JSContext无法执行的XHTTP请求。此View未添加到View层次结构中,我没有兴趣这样做。WKWebview仅用于其在其引擎中运行JS代码的能力。javascript代码在模拟器上完全按照预期工作。完全相同的代码也适用于我测试过的某些其他应用程序的上下文。但由于某些原因,在某些应用程序中,除非将WKWebview添加到View层次结构中,否则WKWebview将不会执行javascript。以下代码将按预期工作。如果删除#wa
我想将JavaScript变量传递给Swift。我在JavaScript中遇到错误并搜索它,但没有得到任何结果。错误是:TypeError:Cannotreadproperty'messageHandlers'ofundefined有人可以帮忙吗?我在Xcode中的代码:importUIKitimportWebKitclassViewController:UIViewController,WKScriptMessageHandler,WKNavigationDelegate{varwebView=WKWebView()overridefuncviewDidLoad(){super.vi
我正在尝试将全局对象添加到WKWebView,其中加载的HTML期望存在某个对象(使用API)。我有以下设置来在加载后填充HTML。这在以下这个简单的示例中有效,但是对于使用loadRequest加载的“真实”内容,它失败并显示“[Error]ReferenceError:找不到变量”。有没有人有类似的经历?@implementationViewController-(void)viewDidLoad{[superviewDidLoad];[selfsetupWebView];}-(void)setupWebView{WKWebViewConfiguration*webConfigur
我有一个samplehtml我正在使用WKWebView来显示此html。我想要的是,当用户完成游戏时,即出现“高分”屏幕时,我们也会在代码中收到通知(即swift),这样我们就可以忽略该View并获得最高分。这样做的可能方法是什么?我做了以下但它没有提供任何功能funcshowHtml5(){varwkWebView=WKWebView()letframe=CGRect(x:0,y:0,width:UIScreen.main.bounds.width,height:UIScreen.main.bounds.height)letcontentController=WKUserConte
有谁知道在WKWebView中禁用双击和双指缩放的简单好方法?我尝试过的任何东西都不起作用:Webview.scrollView.allowsMagnification=false;//Error:valueoftypeWKWebViewhasnomemberallowsMagnificationWebview.scrollView.isMultipleTouchEnabled=false;//doesn'tdoanything在html中://pileofcrap,doesnothing 最佳答案 您必须在脚本中添加最大比例。下面
我需要保存加载到WKWebView上的内容以供离线阅读,包括图像。这样即使没有网络访问,用户也可以再次查看网页。WKWebView支持缓存吗?我该如何实现?《UIWebView网页缓存离线查看》的答案是针对UIWebview的,不是针对WKWebView的,所以是不一样的。而且我也知道我们可以为WKWebViewCache启用应用程序缓存,但它会使用将被拒绝的私有(private)API。 最佳答案 //Twowaysiknowsofar//1st:afterloadingthepagewhenuserisonline,getthe
我如何监控WKWebview上的请求?我试过使用NSURLprotocol(canInitWithRequest)但它不会监控ajax请求(XHR),只会监控导航请求(文档请求) 最佳答案 终于解决了由于我无法控制WebView内容,我向WKWebview注入(inject)了一个包含jQueryAJAX请求监听器的Java脚本。当监听器捕获请求时,它会在方法中向native应用程序发送请求正文:webkit.messageHandlers.callbackHandler.postMessage(data);native应用程序在委
我如何监控WKWebview上的请求?我试过使用NSURLprotocol(canInitWithRequest)但它不会监控ajax请求(XHR),只会监控导航请求(文档请求) 最佳答案 终于解决了由于我无法控制WebView内容,我向WKWebview注入(inject)了一个包含jQueryAJAX请求监听器的Java脚本。当监听器捕获请求时,它会在方法中向native应用程序发送请求正文:webkit.messageHandlers.callbackHandler.postMessage(data);native应用程序在委
这是我在android中的功能:@JavascriptInterfacepublicbooleanGetMobileVersion(){returntrue;}这是JavaScript中的调用函数:$(window).load(function(){IsCallByMobileApp=false;try{IsCallByMobileApp=app.GetMobileVersion();/*Iscallbyandroidapp*/}catch(e){IsCallByMobileApp=false;}}在iOS中,我尝试使用WKWebView实现相同的方法,但它不起作用:funcuserC
这是我在android中的功能:@JavascriptInterfacepublicbooleanGetMobileVersion(){returntrue;}这是JavaScript中的调用函数:$(window).load(function(){IsCallByMobileApp=false;try{IsCallByMobileApp=app.GetMobileVersion();/*Iscallbyandroidapp*/}catch(e){IsCallByMobileApp=false;}}在iOS中,我尝试使用WKWebView实现相同的方法,但它不起作用:funcuserC