首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

分享超详细 WKWebView 开发和使用经验

URL 为本次网页加载结束后的最终请求 两者 URL 区别在于首次发起 302 跳转的请求 title 为本次网页加载结束时的 标签 网页加载 加载在线地址 正常情况下...NSData 后,利用该方法加载,但是要注意获取 NSData 的过程是同步,如果网络请求较慢,会造成主线程阻塞。...移除所有用户脚本 removeAllUserScripts 如果注入时机为在网页渲染前,那么网页加载完毕后执行移除脚本操作,则脚本的运算结果并不会受影响,但是在网页加载完毕前移除脚本的后,脚本将不会执行...可以在任何时机移除,移除后对应的js代码也会移除。...// oc 代码 [WKWebView loadRequest:] // 发生失败会走该回调 // js代码 location.href="http://abcd" // 发生失败会走该回调 当容器开始加载数据

4.9K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    浅谈iOS中的WKWebView添加cookie

    https://blog.csdn.net/u010105969/article/details/53942862 最近开发新功能,其中有加载网页的需求,而最近又了解到了WKWebView,说是耗内存小...因为需要与网页进行交互,而之前使用UIWebView发现与网页的交互并不是很好,于是这次决定使用WKWebView。...在体会着使用新控件且更好的控件的喜悦的时候,一个新的问题出现了--加载网页,后台无法及时获取cookie。后台无法及时获取cookie,在加载网页的时候就无法加载到正确的数据。...(需要多加载几次网页,才能加载到正确的数据) 在查阅相关资料后,发现在使用WKWebView的时候需要我们手动添加cookie到网页中。...而之前使用的UIWebView会自动cookie,所有也就不用我们担心后台无法及时获取cookie的问题。

    2.2K10

    iOS中WebKit框架应用与解析 原

    iOS中WebKit框架应用与解析 一、引言         在iOS8之前,在应用中嵌入网页通常需要使用UIWebView这样一个类,这个类通过URL或者HTML文件来加载网页视图,功能十分有限,只能作为辅助嵌入原生应用程序中...WKWebView:网页的渲染与展示,通过WKWebViewConfiguration可以进行配置。 WKWebViewConfiguration:这个类专门用来配置WKWebView。...isPersistent) BOOL persistent; //所有可以存储的类型 + (NSSet *)allWebsiteDataTypes; @end //设置是否将网页内容全部加载到内存后再渲染..., copy) NSURL *URL; //网页是否正在加载中 @property (nonatomic, readonly, getter=isLoading) BOOL loading; //加载进度...{ } //主页加载完成时调用 -(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation{

    2K40

    Hybrid App 应用 开发中 9 个必备知识点复习(WebView 调试 等)

    库加载并使用, UIWebView 中限制了; WKWebView 目前缺少关于页码相关的 API; WKWebView 提供加载网页进度的属性; WKWebView 使用 Safari 相同的 JavaScript...引擎; WKWebView 增加加载进度属性: estimatedProgress ; WKWebView 不支持页面缓存,需要自己注入 cookie , 而 UIWebView 是自动注入 cookie...WKWebView 没有做缓存处理,所以对网页需要缓存的加载性能要求没那么高的还是可以考虑 UIWebView 。 二、WKWebView 有哪一些坑?...而在 UIWebView 会自动带上 Cookie。...视频自动播放 WKWebView 需要通过 WKWebViewConfiguration.mediaPlaybackRequiresUserAction 设置是否允许自动播放,但一定要在 WKWebView

    3.2K00

    网易严选的wkwebview测试之路

    而WKWebView网页加载速度大有提升,占用更少内存。   ...  以前UIWebView会自动去NSHTTPCookieStorage中读取cookie,但是WKWebView并不会去读取,因此导致cookie丢失以及一系列问题,在测试的过程中我们发现在一个活动页面触发了登录之后...从上图可以看出,在app进行登录后,福利社的webview并没有同步获取相应的登录态,究其原因,主要原因是:WKWebView Cookie 问题在于 WKWebView 发起的请求不会自动带上存储于...),但是替换了wkwebview之后,无网络状态下本地的html网页无法加载,结果: ?   ...而UIwebview可以让app对于H5容器使用NSURLProtocol技术将H5进行离线包的处理,H5的图片和Native的图片公用一套缓存,因此WKWebView是没有做缓存处理的,对网页需要缓存的加载性能要求没那么高的还是可以考虑

    1.8K10

    WKWebView详解

    作为应用内浏览器,那么进行这种更改是最佳选择 SFSafariViewController自动支持链接预览 iOS 10.0+开始支持自定义链接预览,你也可以通过这种方式来实现用户预览网页并pop后仍然留在应用内而不用切换到...TRUE会覆盖网页中的user-scalable HTML属性 默认值为FALSE。...response对象,会触发异常 如果在任务已经停止加载后调用,将会触发异常 为任务添加接收的数据 - (void)didReceiveData:(NSData *)data; 在任务接受到最终的response...对象后,你应当开始发送数据 每次调用这个方法,新的数据都会append到之前的数据后 如果你尝试在发送response之前或者任务已经结束之后发送数据,将会触发异常 如果在任务已经停止加载后调用,将会触发异常...:(NSError *)error; 当前页面加载完成后触发 - (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation

    20.7K193

    WKWebView的使用

    示例Demo:WKWebView的使用 本文将从以下几方面介绍WKWebView: 1、WKWebView涉及的一些类 2、WKWebView涉及的代理方法 3、网页内容加载进度条的实现 4、JS...和OC的交互 5、本地HTML文件的实现 一、WKWebView涉及的一些类 WKWebView:网页的渲染与展示 注意: #import //初始化...后,会发现字体小了很多,这应该是WKWebView与html的兼容问题,解决办法是修改原网页,要么我们手动注入JS NSString *jSString = @"var meta = document.createElement...涉及的代理方法 WKNavigationDelegate :主要处理一些跳转、加载处理操作 // 页面开始加载时调用 - (void)webView:(WKWebView *)webView...//添加监测网页加载进度的观察者 [self.webView addObserver:self forKeyPath:NSStringFromSelector

    3K61

    UI篇- UIWebView使用大全

    self.mywebView.scrollView.bounces =NO; 3.自动对页面进行缩放以适应屏幕 self.mywebView.scalespageToFit = YES; 4....自动检测网页上的电话号码,单击可以拨打 self.mywebView.detectsPhoneNumbers = YES; 5....loadHTMLString:htmlstring baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]]; 只有使用loadRequest:加载网页...根据导航类型参数可以得到请求发起的原因 //当网页视图被指示载入内容而得到通知应该返回是,这样会进行加载通过导航类型参数可以得到请求发起的原因,可以是以下任意值: - (BOOL)webView:(UIWebView...有两种方式可根据加载内容 获取UIWebView的合适高度,但都需要在网页内容加载完成后才可以,即需要在webViewDidFinishLoad回调中使用。

    2K10

    WKWebView的使用与JS交互详细解读

    看网上关于它的博客也是有许多的了,从各个方面总结一下这个WKWebView看网上说它主要是为了和JS做好交互产生的,我们也会相应的尝试一下。就先从它基本的说起!...一:和UIWebView相比它的不同处 1:和JS更好的做交互,也支持H5的一些新特性 2:加载进度条(下面会演示) 3:性能高,加载变得更快更可靠 二:从加载一张网页开始 1:使用这个WKWebView...runJavaScriptAlert 方法注意点 1.在JS端调用alert函数时,会触发此代理方法。...*/ // runJavaScriptAlert // 在JS端调用alert函数时,会触发此代理方法。...// 在原生得到结果后,需要回调给JS,通过completionHandler 回调给JS // completionHandler 回调的参数和返回值都是空 -(void)webView:(WKWebView

    3.1K70

    如何感知 WebKit 页面切换

    从表现上说,改变 hash 会产生网页历史栈,safari 也会产生历史记录,这种场景应该是有和 -webView:didCommitNavigation: 相对应的回调,官方没做好一致性,需通过 WebKit...dispatchDidCommitLoad WebCore::FrameLoader::dispatchDidCommitLoad WebCore::FrameLoader::receivedFirstData 在第一次收到页面数据后,...会进行网页历史栈等状态的处理,最后抛给公开代理。...对于改变页面 hash 打开另一页面场景,是在同一个 Document,FrameLoader 作为专门处理页面加载的地方,应该是有处理目标页面是否是同一 Document 的代码分支,扫描一下就找到了一个可疑的函数...hash 的页面切换的操作了,和 -webView:didCommitNavigation: 配对可完整感知 WKWebView 的页面切换完成时机。

    1.5K20
    领券