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}];