WKWebview

作者: 八戒莫慌 | 来源:发表于2018-07-28 09:47 被阅读9次

    WKWebView 共用Sessionid

    你是否遇到这样的情况?之前用多个UIWebView加载同一类网址作跳转效果,但是升级成WkWebView后发现关联不到一起了,这是因为UIWebView的缓存数据是系统的,大家共用 但是WkWebView是独立的,所以你就无法关联了。怎么解决呢?就是让WKWebView 共用Sessionid

    WKProcessPool这个属性就是WKWebView的数据池,让WKWebView共用就好了,需要把WKProcessPool定义成单例

    这里写了一个WKProcessPool的分类

    
    .h
    
    #import <WebKit/WebKit.h>
    
     @interface WKProcessPool (SharedProcessPool)
    
    + (WKProcessPool*)sharedProcessPool;
    
    @end
    
    .m
    
    #import "WKProcessPool+SharedProcessPool.h"
    
     @implementation WKProcessPool (SharedProcessPool)
    
    + (WKProcessPool*)sharedProcessPool {
    
        static WKProcessPool* SharedProcessPool;
    
        static dispatch_once_t onceToken;
    
        dispatch_once(&onceToken, ^{
    
            SharedProcessPool = [[WKProcessPool alloc] init];
    
        });
    
        return SharedProcessPool;
    
    }
    
    @end
    

    然后设置一下就好了

    WKWebViewConfiguration* configuration = [[NSClassFromString(@"WKWebViewConfiguration") alloc] init];
    
     configuration.processPool = [WKProcessPool sharedProcessPool];
    
     WKWebView* webView = [[NSClassFromString(@"WKWebView") alloc] initWithFrame:self.bounds configuration:configuration];
    

    相关文章

      网友评论

          本文标题:WKWebview

          本文链接:https://www.haomeiwen.com/subject/ejposftx.html