예제 #1
0
 /// <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);
     }
 }
예제 #2
0
 /// <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);
         }
     }
 }
예제 #3
0
        /// <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);
                }
            }
        }
예제 #4
0
        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);
                    }
                }
            }
        }
예제 #5
0
    /// <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 );
      }
    }
예제 #6
0
 /// <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 );
 }