99import android .webkit .HttpAuthHandler ;
1010import android .webkit .RenderProcessGoneDetail ;
1111import android .webkit .SslErrorHandler ;
12+ import android .webkit .WebChromeClient ;
1213import android .webkit .WebResourceRequest ;
1314import android .webkit .WebResourceResponse ;
1415import android .webkit .WebView ;
3435import android .webkit .CookieManager ;
3536import android .webkit .CookieSyncManager ;
3637
38+ import java .util .Objects ;
3739import java .util .concurrent .atomic .AtomicReference ;
3840
3941public class RNCWebViewClient extends WebViewClient {
@@ -68,6 +70,9 @@ public void onPageFinished(WebView webView, String url) {
6870 if (!mLastLoadFailed ) {
6971 RNCWebView reactWebView = (RNCWebView ) webView ;
7072
73+ RNCWebChromeClient webChromeClient = (RNCWebChromeClient ) reactWebView .getWebChromeClient ();
74+ if (Objects .nonNull (webChromeClient )) webChromeClient .blockJsDuringLoading = false ;
75+
7176 reactWebView .callInjectedJavaScript ();
7277
7378 emitFinishEvent (webView , url );
@@ -91,12 +96,20 @@ public void onPageStarted(WebView webView, String url, Bitmap favicon) {
9196 mLastLoadFailed = false ;
9297
9398 RNCWebView reactWebView = (RNCWebView ) webView ;
99+
100+ RNCWebChromeClient webChromeClient = (RNCWebChromeClient ) reactWebView .getWebChromeClient ();
101+ if (Objects .nonNull (webChromeClient )) webChromeClient .blockJsDuringLoading = true ;
102+
94103 reactWebView .callInjectedJavaScriptBeforeContentLoaded ();
95104 }
96105
97106 @ Override
98107 public boolean shouldOverrideUrlLoading (WebView view , String url ) {
99108 final RNCWebView rncWebView = (RNCWebView ) view ;
109+
110+ RNCWebChromeClient webChromeClient = (RNCWebChromeClient ) rncWebView .getWebChromeClient ();
111+ if (Objects .nonNull (webChromeClient )) webChromeClient .blockJsDuringLoading = true ;
112+
100113 final boolean isJsDebugging = rncWebView .getReactApplicationContext ().getJavaScriptContextHolder ().get () == 0 ;
101114
102115 if (!isJsDebugging && rncWebView .mMessagingJSModule != null ) {
0 commit comments