             return
         }
         delegateProxy.proxy = self
+        ignoreWbDelegateKVO = true
         updateWebViewDelegate()
     }
     
     fileprivate func updateWebViewDelegateInKVO() {
-        guard shouldProxyDelegate, !ignoreWbDelegateKVOOnce else {
-            ignoreWbDelegateKVOOnce = false
+        guard shouldProxyDelegate, !ignoreWbDelegateKVO else {
             return
         }
         

    fileprivate let jsContextPath = "documentView.webView.mainFrame.javaScriptContext"
    fileprivate let delegatePath = "delegate"
    fileprivate let jsMessageHandlersKey = "zhbridge_messageHandlers"
    private var ignoreWbDelegateKVOOnce = false
    private var updateWBDelegateLock = NSRecursiveLock.init()
    
    

    @inline(__always) fileprivate func updateWebViewDelegate() {
        updateWBDelegateLock.lock()
        
        ignoreWbDelegateKVO = true
        if webView.delegate !== delegateProxy {
            delegateProxy.original = webView.delegate
        }
        webView.delegate = delegateProxy
        ignoreWbDelegateKVO = false
        updateWBDelegateLock.unlock()
    }
    
