webView 禁止缩放和wkwebView 跳动64个像素

1

NSString*injectionJSString =@"var script = document.createElement('meta');"

"script.name = 'viewport';"

"script.content=\"user-scalable=no\";"

"document.getElementsByTagName('head')[0].appendChild(script);initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, user-scalable=no";

[webViewstringByEvaluatingJavaScriptFromString:injectionJSString];

由于我设置的表头和H5的页面尺寸有冲突,这里只用了user-scalable=no;



2 禁止webview跳动 可以直接在AppDelegate 里面写  iOS 11的问题

    if(@available(iOS11.0, *)) {

       self.dataWeb.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

        [UIScrollView appearance].contentInset = UIEdgeInsetsMake(0,0, 0, 0);

         [UIScrollView appearance].scrollIndicatorInsets = self.dataWeb.scrollView.contentInset;

    }else{

            [self

             setAutomaticallyAdjustsScrollViewInsets:NO];

    }

3 webview 和js交互 ,监听触发

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

//userContenController 不能用匿名对象

userContenController = [[WKUserContentController alloc] init];

//WKUserContentController *userConteent = [[WKUserContentController alloc] init];

[userContenController addScriptMessageHandler:self name:@"NativeMethod"];

//userContenController addScriptMessageHandler:self name:@""

config.userContentController = userContenController;

//该方法可以监听触发,在这里面搞事情

- (void)userContentController:(WKUserContentController*)userContentController didReceiveScriptMessage:(WKScriptMessage*)message{

NSString*messageName = message.name;

NSLog(@"%@",message);

}


4 iOS如何获取和修改UserAgent

NSString*customUserAgent =@"ios_csf";

[[NSUserDefaults standardUserDefaults] registerDefaults:@{@"UserAgent":customUserAgent}];

你可能感兴趣的:(webView 禁止缩放和wkwebView 跳动64个像素)