WKWebView加载HTML标签字体问题

本文介绍如何使用WKWebView配置WKPreferences以设定最小字体大小,并通过WKUserScript注入JavaScript脚本来禁止页面选择与长按行为,同时调整视口宽度。
       WKPreferences *preferences = [[WKPreferences alloc] init];

        preferences.minimumFontSize = 15.0f;



        NSMutableString *javascript = [NSMutableString string];

        [javascript appendString:@"document.documentElement.style.webkitTouchCallout='none';"]; //禁止长按

        [javascript appendString:@"document.documentElement.style.webkitUserSelect='none';"]; //禁止选择

    

        WKUserScript *noneSelectScript = [[WKUserScript alloc] initWithSource:javascript injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];

         //通过WKUserScript注入JavaScript脚本和WKPreferences设置字体大小

        NSString *jScript = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta);";

        //注入

        WKUserScript *wkUScript = [[WKUserScript alloc] initWithSource:jScript injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];

        WKUserContentController *userContentController = [[WKUserContentController alloc] init];

        [userContentController addUserScript:noneSelectScript];

        [userContentController addUserScript:wkUScript];

        

        WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];

        config.preferences = preferences;

        config.userContentController = userContentController;

        

        _contentWKWebView = [[WKWebView alloc] initWithFrame:CGRectZeroconfiguration:config];

        _contentWKWebView.navigationDelegate = self;

        _contentWKWebView.scrollView.alwaysBounceVertical = NO; //内容少于webView高度的时候不垂直滚动

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值