草庐IT

wkwebview-bridge

全部标签

ios - iOS 13 beta 中 WKWebView 的 Intrinsic Content Size 问题

我试图在加载WKWebView时获取它的高度,并使用委托(delegate)方法更改TableView中单元格的高度。下面的代码在iOS12之前运行良好。当我尝试在iOS13beta中运行时,单元格高度不断增加,因为固有大小每次都不断增加1。有什么办法可以阻止吗?overridevarintrinsicContentSize:CGSize{print("intrinsiccontentsizeid\(self.scrollView.contentSize.height)")self.delegate?.changeHeight(self.scrollView.contentSize.h

ios - 滚动不适用于 iOS 13 beta 上的 WKWebView

我在WKWebView中加载自定义HTML,在视口(viewport)中设置属性width=device-width。这在iOS12中完美运行,但在使用iOS13(beta7)时出现滚动问题。特别是当使用width=device-width时,无法滚动webview,所以部分内容不可见。只有当用户捏合缩放时才有可能这样做,然后神奇地开始可以滚动(水平和垂直)。我在文档中没有找到任何关于iOS13中WKWebView(甚至ScrollView)的更改可以证明这一点。我错过了什么吗?或者这可能是iOS13/Xcode11的错误? 最佳答案

ios - 为什么编译成静态库后找不到bridge文件?

在我的应用程序中,我使用cocoapods导入一些动态框架。现在我想将动态框架更改为静态库。所以我在*.podspec中加入了s.static_framework=true,就可以成功编译这个静态库了。但是当我将这个静态库导入我的应用程序时,出现了问题。错误如下:此静态库包含oc和swift代码。我想将一个由swift编码的文件导入到这个由oc编码的文件中。我在Podfile中将use_frameworks!更改为use_modular_headers!。 最佳答案 s.static_framework=true将框架内的库从动态变

ios - WKWebView 的网页不显示 dispatch_get_main_queue 内的页面

我正在尝试在后台进程中创建多个WKWebViewView,然后在它们全部完成加载后将它们添加到主线程上的View。每个WKWebView都包含一个通过javascript呈现的图表,因此每个WKWebView的加载时间大约需要一秒钟,所以我试图将处理卸载到后台,这样UI就不会被阻塞。当dispatch_get_main_queue被注释掉时,这工作正常,但是ui被阻塞了5-10秒。只显示WKWebView的棕色背景,没有网页内容。varwebViews:[WKWebView]=[]varmyQueue=dispatch_get_global_queue(DISPATCH_QUEUE_P

javascript - WKWebView 视频暂停不适用于所有网站

我正在加载一些包含一些视频的网站。我正在使用WKWebView加载这些视频。我需要在加载页面时停止自动播放视频,因此我添加了以下java脚本代码来暂停视频。NSString*script=@"varvideos=document.querySelectorAll(\"video\");for(vari=videos.length-1;i>=0;i--){videos[i].pause();};";[webViewevaluateJavaScript:scriptcompletionHandler:^(idresult,NSError*error){NSLog(@"Error:%@",e

ios - 在 UIView 中创建 WKWebView

我正在尝试在UIView中添加一个WKWebView,代码似乎工作正常(页面已加载边界良好委托(delegate)打印消息没有错误)但是View(称为ViewForStuffInWeb)保持空白,其中没有任何内容有人可以解释为什么吗?importUIKitimportWebKitclassViewController:UIViewController,WKNavigationDelegate{@IBOutletvarViewForStuffInWeb:UIView!varwebView=WKWebView()letrequest="https://www.google.fr"overr

javascript - WKWebView.EvaluateJavaScript 永远不会返回

我正在尝试使用WKWebView.EvaluateJavaScript(string,WKJavascriptEvaluationResult)从我的javascript代码中获取一个值返回到我的应用程序。问题是,永远不会调用委托(delegate)WKJavascriptEvaluationResult。这是我的代码:C#:TaskCompletionSourcetcs=newTaskCompletionSource();webView.EvaluateJavaScript(javascript,(result,error)=>{tcs.SetResult(result);});re

iOS 9 WKWebView 产生 "failed to load resource: cancelled"而 iOS 8 没有

我正在开发一个支持iOS8和9的应用,在我的应用中使用WKWebView获取一些View。暂时我已经将我的站点和子域列入ATS的白名单(等待一些SSL证书更改)。所以我认为我要描述的内容与ATS无关,但谁知道呢。我的本​​机代码在我的WKWebView中调用一个javascript函数,该函数使用jQuery触发ajaxGET请求。在iOS8中,它每次都有效。在iOS9中,它只是有时有效。似乎不到一半的时间。当我在我的iPhone连接的桌面上使用SafariDeveloperConsole连接到WKWebView时,我能够看到这个错误:加载资源失败:已取消据我所知,网络请求从未发出过。

ios - 在 WKWebView 中注入(inject)全局对象

我正在尝试将全局对象添加到WKWebView,其中加载的HTML期望存在某个对象(使用API)。我有以下设置来在加载后填充HTML。这在以下这个简单的示例中有效,但是对于使用loadRequest加载的“真实”内容,它失败并显示“[Error]ReferenceError:找不到变量”。有没有人有类似的经历?@implementationViewController-(void)viewDidLoad{[superviewDidLoad];[selfsetupWebView];}-(void)setupWebView{WKWebViewConfiguration*webConfigur

ios - 我如何使用 wkwebview 在我的应用程序中自动播放视频

我正在使用wkwebview来显示我的网站。我的网站有一个视频。显示该站点时,视频无法自动播放。请问有什么方法可以让视频自动播放吗? 最佳答案 正在关注function为我工作,支持autoplay-(void)loadwebViewToPlay{NSString*videoHtml=@"body{margin:0px0px0px0px;}vartag=document.createElement('script');tag.src='http://www.youtube.com/player_api';varfirstScript