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];
由于我設(shè)置的表頭和H5的頁(yè)面尺寸有沖突,這里只用了user-scalable=no拴测;
2 禁止webview跳動(dòng) 可以直接在AppDelegate 里面寫(xiě) ?iOS 11的問(wèn)題
? ? 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交互 宇弛,監(jiān)聽(tīng)觸發(fā)
WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
//userContenController 不能用匿名對(duì)象
userContenController = [[WKUserContentController alloc] init];
//WKUserContentController *userConteent = [[WKUserContentController alloc] init];
[userContenController addScriptMessageHandler:self name:@"NativeMethod"];
//userContenController addScriptMessageHandler:self name:@""
config.userContentController = userContenController;
//該方法可以監(jiān)聽(tīng)觸發(fā)嫌变,在這里面搞事情
- (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}];