JS与OC(WK)交互之页面无法释放

在使用WKWebView与JS进行交互时,通过WKUserContentController管理,关闭页面时发现WKWebView并未释放,其dealloc方法未执行。解决方法是在dealloc中移除所有用户脚本。初始化WKWebView并设置JavaScript启用,通过WKScriptMessageHandler接收JS消息。当接收到特定消息时,执行相应操作。问题在于页面释放不彻底,可能导致内存泄漏。
摘要由CSDN通过智能技术生成

js与wk交互主要是通过WKUserContentController管理,但这样的做的时候我们会遇到一个问题,关闭容器的时候,浏览器发现页面并没有释放,断点发现delloc方法也没有执行。解决方法欢迎留言。。。

  • (void)dealloc{
    [_wkUController removeAllUserScripts];
    }

简单的初始化一个WKWebView

  • (void)_initUI{
    WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
    WKPreferences *preference = [[WKPreferences alloc]init];
    preference.javaScriptEnabled = YES;
    preference.javaScriptCanOpenWindowsAutomatically = YES;
    config.preferences = preference;
    //用来做交互管理
    _wkUController = [[WKUserContentController alloc]init];
    [_wkUController addScriptMessageHandler:self name:@“event”];
    config.userContentController = _wkUController;

    //初始化
    _webview = [[WKWebView alloc]initWithFrame:CGRectMake(0, 90, self.view.frame.size.width, self.view.frame.size.height - 90) configuration:config];

    NSString *p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值