Bläddra i källkod

fix(iOS): run injectedJavaScript and injectedJavaScriptBeforeContentLoaded at right moments (and don't run on didFinishNavigation)

Jamie Birch 5 år sedan
förälder
incheckning
8c082613a7
1 ändrade filer med 3 tillägg och 12 borttagningar
  1. 3
    12
      ios/RNCWebView.m

+ 3
- 12
ios/RNCWebView.m Visa fil

911
 - (void)webView:(WKWebView *)webView
911
 - (void)webView:(WKWebView *)webView
912
   didFinishNavigation:(WKNavigation *)navigation
912
   didFinishNavigation:(WKNavigation *)navigation
913
 {
913
 {
914
-   if (_injectedJavaScript) {
915
-     [self evaluateJS: _injectedJavaScript thenCall: ^(NSString *jsEvaluationValue) {
916
-       NSMutableDictionary *event = [self baseEvent];
917
-       event[@"jsEvaluationValue"] = jsEvaluationValue;
918
-
919
-       if (self.onLoadingFinish) {
920
-         self.onLoadingFinish(event);
921
-       }
922
-     }];
923
-   } else if (_onLoadingFinish) {
914
+  if (_onLoadingFinish) {
924
     _onLoadingFinish([self baseEvent]);
915
     _onLoadingFinish([self baseEvent]);
925
   }
916
   }
926
 }
917
 }
972
   _injectedJavaScript = script;
963
   _injectedJavaScript = script;
973
   
964
   
974
   self.atStartScript = script == nil ? nil : [[WKUserScript alloc] initWithSource:script
965
   self.atStartScript = script == nil ? nil : [[WKUserScript alloc] initWithSource:script
975
-      injectionTime:WKUserScriptInjectionTimeAtDocumentStart
966
+      injectionTime:WKUserScriptInjectionTimeAtDocumentEnd
976
     forMainFrameOnly:_injectedJavaScriptForMainFrameOnly];
967
     forMainFrameOnly:_injectedJavaScriptForMainFrameOnly];
977
   
968
   
978
   [self resetupScripts];
969
   [self resetupScripts];
982
   _injectedJavaScriptBeforeContentLoaded = script;
973
   _injectedJavaScriptBeforeContentLoaded = script;
983
   
974
   
984
   self.atEndScript = script == nil ? nil : [[WKUserScript alloc] initWithSource:script
975
   self.atEndScript = script == nil ? nil : [[WKUserScript alloc] initWithSource:script
985
-       injectionTime:WKUserScriptInjectionTimeAtDocumentEnd
976
+       injectionTime:WKUserScriptInjectionTimeAtDocumentStart
986
     forMainFrameOnly:_injectedJavaScriptBeforeContentLoadedForMainFrameOnly];
977
     forMainFrameOnly:_injectedJavaScriptBeforeContentLoadedForMainFrameOnly];
987
   
978
   
988
   [self resetupScripts];
979
   [self resetupScripts];