Browse Source

agent 问题修复

Steven 1 year ago
parent
commit
7831d3acc0

+ 8 - 1
KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSAccompanyWebViewController.m

@@ -235,13 +235,14 @@
         }
         config.processPool = [KSBaseWKWebViewController singleWkProcessPool];
         config.websiteDataStore = [WKWebsiteDataStore defaultDataStore];
+        [self configUserAgent:config];
+
         //自定义的WKScriptMessageHandler 是为了解决内存不释放的问题
         WeakWebViewScriptMessageDelegate *weakScriptMessageDelegate = [[WeakWebViewScriptMessageDelegate alloc] initWithDelegate:self];
         //这个类主要用来做native与JavaScript的交互管理
         WKUserContentController * wkUController = [[WKUserContentController alloc] init];
         [wkUController addScriptMessageHandler:weakScriptMessageDelegate name:@"COLEXIU"];
         config.userContentController = wkUController;
-        
         WKPreferences *preferences = [WKPreferences new];
         // 是否支出javaScript
         preferences.javaScriptEnabled = YES;
@@ -278,6 +279,12 @@
     }
 }
 
+- (void)configUserAgent:(WKWebViewConfiguration *)config {
+    NSString *oldUserAgent = config.applicationNameForUserAgent;
+    NSString *newAgent = [NSString stringWithFormat:@"%@ %@ %@",oldUserAgent,@"COLEXIUAPPI",@"COLEXIUTEACHER"];
+    config.applicationNameForUserAgent = newAgent;
+}
+
 - (void)configRecordManager {
     self.AQManager = [[KSAQRecordManager alloc] init];
     self.AQManager.delegate = self;

+ 4 - 6
KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSBaseWKWebViewController.m

@@ -212,6 +212,7 @@ typedef NS_ENUM(NSInteger, CHOOSETYPE) {
         }
         config.processPool = [KSBaseWKWebViewController singleWkProcessPool];
         config.websiteDataStore = [WKWebsiteDataStore defaultDataStore];
+        [self configUserAgent:config];
         //自定义的WKScriptMessageHandler 是为了解决内存不释放的问题
         WeakWebViewScriptMessageDelegate *weakScriptMessageDelegate = [[WeakWebViewScriptMessageDelegate alloc] initWithDelegate:self];
         //这个类主要用来做native与JavaScript的交互管理
@@ -262,12 +263,9 @@ typedef NS_ENUM(NSInteger, CHOOSETYPE) {
 }
 
 - (void)loadRequest {
-    MJWeakSelf;
-    [self.myWebView evaluateJavaScript:@"navigator.userAgent" completionHandler:^(id result, NSError *error) {
-        NSLog(@"%@",result);
-        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:weakSelf.url] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0f];
-        [weakSelf.myWebView loadRequest:request];
-    }];
+    
+    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:self.url] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0f];
+    [self.myWebView loadRequest:request];
 }
 
 - (NSString *)url {