/// <summary> /// 引发 DomChanged 事件 /// </summary> /// <param name="sender">事件源</param> /// <param name="e">时间参数</param> protected virtual void OnDomChanged(object sender, HtmlDomChangedEventArgs e) { if (HtmlDomChanged != null) { HtmlDomChanged(sender, e); } }
/// <summary> /// 引发 HtmlDomChanged 事件 /// </summary> /// <param name="sender">引发事件的事件源</param> /// <param name="e">HtmlDomChanged 事件参数</param> protected virtual void OnDomChanged(object sender, HtmlDomChangedEventArgs e) { if (HtmlDomChanged != null) { if (object.Equals(this, e.Node.Document)) { HtmlDomChanged(sender, e); } } }
/// <summary> /// 引发 HtmlDomChanged 事件 /// </summary> /// <param name="sender">引发事件的事件源</param> /// <param name="e">HtmlDomChanged 事件参数</param> protected virtual void OnDomChanged(object sender, HtmlDomChangedEventArgs e) { _currentVersionCache = null;//抛弃旧的版本缓存 if (HtmlDomChanged != null) { if (object.Equals(this, e.Node.Document)) { HtmlDomChanged(sender, e); } } }
private void OnHtmlDomChanged(object sender, HtmlDomChangedEventArgs e) { lock ( SyncRoot ) { if (!InScope(e.Node))//不在索引范围内的节点忽略。 { return; } var textNode = e.Node as IHtmlTextNode; if (textNode != null) { _textNodes.Add(textNode); return; } var comment = e.Node as IHtmlComment; if (comment != null) { _comments.Add(comment); return; } var element = e.Node as IHtmlElement; if (element != null) { if (!e.IsAttributeChanged) { OnElementChanged(sender, e.Action, element); } else { OnAttributeChanged(sender, e.Action, e.Attribute, element); } } } }
/// <summary> /// 引发 HtmlDomChanged 事件 /// </summary> /// <param name="sender">引发事件的事件源</param> /// <param name="e">HtmlDomChanged 事件参数</param> protected virtual void OnDomChanged( object sender, HtmlDomChangedEventArgs e ) { _currentVersionCache = null;//抛弃旧的版本缓存 if ( HtmlDomChanged != null ) { if ( object.Equals( this, e.Node.Document ) ) HtmlDomChanged( sender, e ); } }
/// <summary> /// 引发 DomChanged 事件 /// </summary> /// <param name="sender">事件源</param> /// <param name="e">时间参数</param> protected virtual void OnDomChanged( object sender, HtmlDomChangedEventArgs e ) { if ( HtmlDomChanged != null ) HtmlDomChanged( sender, e ); }