亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fckeditor.cs

?? 是一種網上編輯的最強悍的字體編輯軟件
?? CS
字號:
/*
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
 * Copyright (C) 2003-2007 Frederico Caldeira Knabben
 *
 * == BEGIN LICENSE ==
 *
 * Licensed under the terms of any of the following licenses at your
 * choice:
 *
 *  - GNU General Public License Version 2 or later (the "GPL")
 *    http://www.gnu.org/licenses/gpl.html
 *
 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
 *    http://www.gnu.org/licenses/lgpl.html
 *
 *  - Mozilla Public License Version 1.1 or later (the "MPL")
 *    http://www.mozilla.org/MPL/MPL-1.1.html
 *
 * == END LICENSE ==
 *
 * This is the FCKeditor Asp.Net control.
 */

using System ;
using System.Web.UI ;
using System.Web.UI.WebControls ;
using System.ComponentModel ;
using System.Text.RegularExpressions ;
using System.Globalization ;
using System.Security.Permissions ;

namespace FredCK.FCKeditorV2
{
	public enum LanguageDirection
	{
		LeftToRight,
		RightToLeft
	}

	[ DefaultProperty("Value") ]
	[ ValidationProperty("Value") ]
	[ ToolboxData("<{0}:FCKeditor runat=server></{0}:FCKeditor>") ]
	[ Designer("FredCK.FCKeditorV2.FCKeditorDesigner") ]
	[ ParseChildren(false) ]
	public class FCKeditor : System.Web.UI.Control, IPostBackDataHandler
	{
		private bool _IsCompatible ;

		public FCKeditor()
		{}

		#region Base Configurations Properties
		
		[ Browsable( false ) ]
		public FCKeditorConfigurations Config
		{
			get 
			{ 
				if ( ViewState["Config"] == null )
					ViewState["Config"] = new FCKeditorConfigurations() ; 
				return (FCKeditorConfigurations)ViewState["Config"] ;
			}
		}

		[ DefaultValue( "" ) ]
		public string Value
		{
			get { object o = ViewState["Value"] ; return ( o == null ? "" : (string)o ) ; }
			set { ViewState["Value"] = value ; }
		}

		/// <summary>
		/// <p>
		///		Sets or gets the virtual path to the editor's directory. It is
		///		relative to the current page.
		/// </p>
		/// <p>
		///		The default value is "/fckeditor/".
		/// </p>
		/// <p>
		///		The base path can be also set in the Web.config file using the 
		///		appSettings section. Just set the "FCKeditor:BasePath" for that. 
		///		For example:
		///		<code>
		///		&lt;configuration&gt;
		///			&lt;appSettings&gt;
		///				&lt;add key="FCKeditor:BasePath" value="/scripts/fckeditor/" /&gt;
		///			&lt;/appSettings&gt;
		///		&lt;/configuration&gt;
		///		</code>
		/// </p>
		/// </summary>
		[ DefaultValue( "/fckeditor/" ) ]
		public string BasePath
		{
			get 
			{ 
				object o = ViewState["BasePath"] ; 

				if ( o == null )
					o = System.Configuration.ConfigurationSettings.AppSettings["FCKeditor:BasePath"] ;

				return ( o == null ? "/fckeditor/" : (string)o ) ;
			}
			set { ViewState["BasePath"] = value ; }
		}

		[ DefaultValue( "Default" ) ]
		public string ToolbarSet
		{
			get { object o = ViewState["ToolbarSet"] ; return ( o == null ? "Default" : (string)o ) ; }
			set { ViewState["ToolbarSet"] = value ; }
		}

		#endregion

		#region Appearence Properties

		[ Category( "Appearence" ) ]
		[ DefaultValue( "100%" ) ]
		public Unit Width
		{
			get { object o = ViewState["Width"] ; return ( o == null ? Unit.Percentage(100) : (Unit)o ) ; }
			set { ViewState["Width"] = value ; }
		}

		[ Category("Appearence") ]
		[ DefaultValue( "200px" ) ]
		public Unit Height
		{
			get { object o = ViewState["Height"] ; return ( o == null ? Unit.Pixel( 200 ) : (Unit)o ) ; }
			set { ViewState["Height"] = value ; }
		}

		#endregion

		#region Configurations Properties

		[ Category("Configurations") ]
		public string CustomConfigurationsPath
		{
			set { this.Config["CustomConfigurationsPath"] = value ; }
		}

		[ Category("Configurations") ]
		public string EditorAreaCSS
		{
			set { this.Config["EditorAreaCSS"] = value ; }
		}

		[ Category("Configurations") ]
		public string BaseHref
		{
			set { this.Config["BaseHref"] = value ; }
		}

		[ Category("Configurations") ]
		public string SkinPath
		{
			set { this.Config["SkinPath"] = value ; }
		}

		[ Category("Configurations") ]
		public string PluginsPath
		{
			set { this.Config["PluginsPath"] = value ; }
		}

		[ Category("Configurations") ]
		public bool FullPage
		{
			set { this.Config["FullPage"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public bool Debug
		{
			set { this.Config["Debug"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public bool AutoDetectLanguage
		{
			set { this.Config["AutoDetectLanguage"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public string DefaultLanguage
		{
			set { this.Config["DefaultLanguage"] = value ; }
		}

		[ Category("Configurations") ]
		public LanguageDirection ContentLangDirection
		{
			set { this.Config["ContentLangDirection"] = ( value == LanguageDirection.LeftToRight ? "ltr" : "rtl" )  ; }
		}

		[ Category("Configurations") ]
		public bool EnableXHTML
		{
			set { this.Config["EnableXHTML"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public bool EnableSourceXHTML
		{
			set { this.Config["EnableSourceXHTML"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public bool FillEmptyBlocks
		{
			set { this.Config["FillEmptyBlocks"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public bool FormatSource
		{
			set { this.Config["FormatSource"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public bool FormatOutput
		{
			set { this.Config["FormatOutput"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public string FormatIndentator
		{
			set { this.Config["FormatIndentator"] = value ; }
		}

		[ Category("Configurations") ]
		public bool GeckoUseSPAN
		{
			set { this.Config["GeckoUseSPAN"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public bool StartupFocus
		{
			set { this.Config["StartupFocus"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public bool ForcePasteAsPlainText
		{
			set { this.Config["ForcePasteAsPlainText"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public bool ForceSimpleAmpersand
		{
			set { this.Config["ForceSimpleAmpersand"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public int TabSpaces
		{
			set { this.Config["TabSpaces"] = value.ToString( CultureInfo.InvariantCulture ) ; }
		}

		[ Category("Configurations") ]
		public bool UseBROnCarriageReturn
		{
			set { this.Config["UseBROnCarriageReturn"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public bool ToolbarStartExpanded
		{
			set { this.Config["ToolbarStartExpanded"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public bool ToolbarCanCollapse
		{
			set { this.Config["ToolbarCanCollapse"] = ( value ? "true" : "false" ) ; }
		}

		[ Category("Configurations") ]
		public string FontColors
		{
			set { this.Config["FontColors"] = value ; }
		}

		[ Category("Configurations") ]
		public string FontNames
		{
			set { this.Config["FontNames"] = value ; }
		}

		[ Category("Configurations") ]
		public string FontSizes
		{
			set { this.Config["FontSizes"] = value ; }
		}

		[ Category("Configurations") ]
		public string FontFormats
		{
			set { this.Config["FontFormats"] = value ; }
		}

		[ Category("Configurations") ]
		public string StylesXmlPath
		{
			set { this.Config["StylesXmlPath"] = value ; }
		}

		[ Category("Configurations") ]
		public string LinkBrowserURL
		{
			set { this.Config["LinkBrowserURL"] = value ; }
		}

		[ Category("Configurations") ]
		public string ImageBrowserURL
		{
			set { this.Config["ImageBrowserURL"] = value ; }
		}

		[Category( "Configurations" )]
		public bool HtmlEncodeOutput
		{
			set { this.Config[ "HtmlEncodeOutput" ] = ( value ? "true" : "false" ); }
		}

		#endregion

		#region Rendering

		public string CreateHtml()
		{
			System.IO.StringWriter strWriter = new System.IO.StringWriter() ;
			System.Web.UI.HtmlTextWriter writer = new HtmlTextWriter( strWriter );
			this.Render( writer );
			return strWriter.ToString();
		}

		protected override void Render(HtmlTextWriter writer)
		{
			writer.Write( "<div>" ) ;

			if ( _IsCompatible )
			{
				string sLink = this.BasePath ;
				if ( sLink.StartsWith( "~" ) )
					sLink = this.ResolveUrl( sLink ) ;

				string sFile = 
					System.Web.HttpContext.Current.Request.QueryString["fcksource"] == "true" ? 
						"fckeditor.original.html" : 
						"fckeditor.html" ;

				sLink += "editor/" + sFile + "?InstanceName=" + this.ClientID ;
				if ( this.ToolbarSet.Length > 0 ) sLink += "&amp;Toolbar=" + this.ToolbarSet ;

				// Render the linked hidden field.
				writer.Write( 
					"<input type=\"hidden\" id=\"{0}\" name=\"{1}\" value=\"{2}\" />",
						this.ClientID,
						this.UniqueID,
						System.Web.HttpUtility.HtmlEncode( this.Value ) ) ;

				// Render the configurations hidden field.
				writer.Write( 
					"<input type=\"hidden\" id=\"{0}___Config\" value=\"{1}\" />",
						this.ClientID,
						this.Config.GetHiddenFieldString() ) ;

				// Render the editor IFRAME.
				writer.Write(
					"<iframe id=\"{0}___Frame\" src=\"{1}\" width=\"{2}\" height=\"{3}\" frameborder=\"no\" scrolling=\"no\"></iframe>",
						this.ClientID,
						sLink,
						this.Width,
						this.Height ) ;
			}
			else
			{
				writer.Write(
					"<textarea name=\"{0}\" rows=\"4\" cols=\"40\" style=\"width: {1}; height: {2}\" wrap=\"virtual\">{3}</textarea>",
						this.UniqueID,
						this.Width,
						this.Height,
						System.Web.HttpUtility.HtmlEncode( this.Value ) ) ;
			}

			writer.Write( "</div>" ) ;

		}

		protected override void OnPreRender( EventArgs e )
		{
			base.OnPreRender( e );
			
			_IsCompatible = this.CheckBrowserCompatibility();

			if ( !_IsCompatible )
				return;

			object oScriptManager = null;

			// Search for the ScriptManager control in the page.
			Control oParent = this.Parent;
			while ( oParent != null )
			{
				foreach ( object control in oParent.Controls )
				{
					// Match by type name.
					if ( control.GetType().FullName == "System.Web.UI.ScriptManager" )
					{
						oScriptManager = control;
						break;
					}
				}

				if ( oScriptManager != null )
					break;

				oParent = oParent.Parent;
			}

			// If the ScriptManager control is available.
			if ( oScriptManager != null )
			{
				try
				{
					// Use reflection to check the SupportsPartialRendering
					// property value.
					bool bSupportsPartialRendering = ((bool)(oScriptManager.GetType().GetProperty( "SupportsPartialRendering" ).GetValue( oScriptManager, null )));

					if ( bSupportsPartialRendering )
					{
						string sScript = "(function()\n{\n" +
							"\tvar editor = FCKeditorAPI.GetInstance('" + this.ClientID + "');\n" +
							"\tif (editor)\n" +
							"\t\teditor.UpdateLinkedField();\n" +
							"})();\n";

						// Call the RegisterOnSubmitStatement method through
						// reflection.
						oScriptManager.GetType().GetMethod( "RegisterOnSubmitStatement", new Type[] { typeof( Control ), typeof( Type ), typeof( String ), typeof( String ) } ).Invoke( oScriptManager, new object[] {
							this,
							this.GetType(),
							"FCKeditorAjaxOnSubmit_" + this.ClientID,
							sScript } );

						// Tell the editor that we are handling the submit.
						this.Config[ "PreventSubmitHandler" ] = "true";
					}
				}
				catch { }
			}
		}

		#endregion

		#region Compatibility Check

		public bool CheckBrowserCompatibility()
		{
			return IsCompatibleBrowser();
		}

		/// <summary>
		/// Checks if the current HTTP request comes from a browser compatible
		/// with FCKeditor.
		/// </summary>
		/// <returns>"true" if the browser is compatible.</returns>
		public static bool IsCompatibleBrowser()
		{
			return IsCompatibleBrowser( System.Web.HttpContext.Current.Request );
		}

		/// <summary>
		/// Checks if the provided HttpRequest object comes from a browser
		/// compatible with FCKeditor.
		/// </summary>
		/// <returns>"true" if the browser is compatible.</returns>
		public static bool IsCompatibleBrowser( System.Web.HttpRequest request )
		{
			System.Web.HttpBrowserCapabilities oBrowser = request.Browser;

			// Internet Explorer 5.5+ for Windows
			if ( oBrowser.Browser == "IE" && ( oBrowser.MajorVersion >= 6 || ( oBrowser.MajorVersion == 5 && oBrowser.MinorVersion >= 0.5 ) ) && oBrowser.Win32 )
				return true;

			string sUserAgent = request.UserAgent;

			if ( sUserAgent.IndexOf( "Gecko/" ) >= 0 )
			{
				Match oMatch = Regex.Match( request.UserAgent, @"(?<=Gecko/)\d{8}" );
				return ( oMatch.Success && int.Parse( oMatch.Value, CultureInfo.InvariantCulture ) >= 20030210 );
			}

			if ( sUserAgent.IndexOf( "Opera/" ) >= 0 )
			{
				Match oMatch = Regex.Match( request.UserAgent, @"(?<=Opera/)[\d\.]+" );
				return ( oMatch.Success && float.Parse( oMatch.Value, CultureInfo.InvariantCulture ) >= 9.5 );
			}

			if ( sUserAgent.IndexOf( "AppleWebKit/" ) >= 0 )
			{
				Match oMatch = Regex.Match( request.UserAgent, @"(?<=AppleWebKit/)\d+" );
				return ( oMatch.Success && int.Parse( oMatch.Value, CultureInfo.InvariantCulture ) >= 522 );
			}

			return false;
		}

		#endregion

		#region Postback Handling

		public bool LoadPostData(string postDataKey, System.Collections.Specialized.NameValueCollection postCollection)
		{
			string postedValue = postCollection[postDataKey] ;

			// Revert the HtmlEncodeOutput changes.
			if ( this.Config["HtmlEncodeOutput"] != "false" )
			{
				postedValue = postedValue.Replace( "&lt;", "<" ) ;
				postedValue = postedValue.Replace( "&gt;", ">" ) ;
				postedValue = postedValue.Replace( "&amp;", "&" ) ;
			}

			if ( postedValue != this.Value )
			{
				this.Value = postedValue ;
				return true ;
			}
			return false ;
		}

		public void RaisePostDataChangedEvent()
		{
			// Do nothing
		}

		#endregion
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美aⅴ一区二区三区视频| 成人午夜电影久久影院| 成人性视频免费网站| 欧美视频日韩视频在线观看| 国产欧美日韩激情| 日本欧美加勒比视频| 91最新地址在线播放| 精品国产一区二区三区不卡| 日韩一区二区三区在线视频| 亚洲网友自拍偷拍| 日韩午夜在线观看| 国产美女一区二区三区| 国产精品久久久久久久久快鸭| 成人性生交大片免费看在线播放 | 风间由美性色一区二区三区| 亚洲一区视频在线| 成人毛片视频在线观看| 欧美一区二区三区爱爱| 亚洲综合视频在线观看| 99久久99久久久精品齐齐| 久久夜色精品一区| 极品少妇一区二区| 精品99999| 国内成人精品2018免费看| 日韩一级黄色片| 麻豆精品新av中文字幕| 欧美一区二区三区精品| 午夜精品久久久久久久久| 欧美少妇bbb| 一区二区三区日韩精品视频| 91看片淫黄大片一级在线观看| 国产精品高潮久久久久无| 国产精品2024| 国产精品午夜久久| 不卡高清视频专区| 亚洲欧洲成人自拍| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲国产精品综合小说图片区| 日本国产一区二区| 亚洲成人免费看| 337p亚洲精品色噜噜噜| 日本不卡123| 久久亚洲一区二区三区明星换脸| 久久成人av少妇免费| 国产亚洲自拍一区| 99视频精品在线| 亚洲最大的成人av| 欧美一区二区三区四区高清| 蜜桃久久久久久| 国产视频一区二区在线观看| 99视频国产精品| 亚洲国产精品久久人人爱蜜臀| 欧美日本在线播放| 国内偷窥港台综合视频在线播放| 国产欧美日韩三区| 91蜜桃免费观看视频| 五月天欧美精品| 久久日韩精品一区二区五区| 粉嫩一区二区三区性色av| 亚洲欧美成人一区二区三区| 欧美日韩高清影院| 国产福利一区二区三区视频在线| 亚洲欧美一区二区在线观看| 欧美日韩三级视频| 国产精品1024久久| 亚洲妇女屁股眼交7| 久久影音资源网| 欧美日精品一区视频| 国产一区视频导航| 一区二区三区不卡视频| 精品国产sm最大网站免费看| jlzzjlzz亚洲日本少妇| 日韩有码一区二区三区| 国产精品午夜在线| 欧美v日韩v国产v| 欧洲av在线精品| 国产高清久久久久| 日韩在线卡一卡二| 玉足女爽爽91| 国产欧美日韩精品a在线观看| 欧美日韩精品一区二区| 国产**成人网毛片九色 | 国产一区二区0| 日本欧美久久久久免费播放网| 中文字幕 久热精品 视频在线 | 久久综合久久久久88| 欧美视频在线播放| 色婷婷综合久久久| 国产成人免费高清| 精品午夜一区二区三区在线观看 | 极品美女销魂一区二区三区 | 亚洲色图欧洲色图婷婷| 精品国产乱码久久| 欧美一区二区观看视频| 日本伦理一区二区| 91在线观看美女| 国产二区国产一区在线观看| 另类专区欧美蜜桃臀第一页| 亚洲在线观看免费视频| 国产精品第四页| 国产午夜精品久久久久久免费视| 欧美一区二区三区人| 91精品婷婷国产综合久久竹菊| 91一区二区三区在线播放| 成人动漫一区二区| 国产经典欧美精品| 国产黄色91视频| 成人综合在线视频| 成人免费视频一区| 成a人片国产精品| 成人va在线观看| 成人黄色电影在线| 波多野结衣在线aⅴ中文字幕不卡| 精品制服美女久久| 国产在线国偷精品免费看| 激情久久久久久久久久久久久久久久| 日韩不卡一二三区| 美女视频黄 久久| 久久成人羞羞网站| 国产乱人伦精品一区二区在线观看| 蜜桃av一区二区| 精品一区二区三区免费观看| 国产精品系列在线播放| 丰满放荡岳乱妇91ww| 99久久精品国产麻豆演员表| av电影一区二区| 91久久精品网| 91精品在线观看入口| 精品国产一区二区三区久久影院| 久久影音资源网| 国产精品久久毛片a| 亚洲免费伊人电影| 日本免费新一区视频| 国产一区二区三区香蕉| 风流少妇一区二区| 在线观看日产精品| 精品日韩一区二区三区免费视频| 国产偷国产偷精品高清尤物| 中文字幕av不卡| 午夜精品久久久久影视| 激情图片小说一区| 色综合中文综合网| 国产精品久久久久久久第一福利 | 国产精品人成在线观看免费| 亚洲嫩草精品久久| 青青草成人在线观看| 成人精品国产一区二区4080| 欧美综合一区二区| 精品国产91久久久久久久妲己 | 国产偷国产偷亚洲高清人白洁| 亚洲免费观看高清完整版在线 | 精品国产91亚洲一区二区三区婷婷| 国产精品热久久久久夜色精品三区 | 国产欧美一区二区在线| 亚洲精品v日韩精品| 青草国产精品久久久久久| 成人美女视频在线观看18| 欧美二区三区91| 国产精品色婷婷久久58| 日本va欧美va瓶| 色猫猫国产区一区二在线视频| 欧美va在线播放| 一区二区三区高清不卡| 国内精品在线播放| 欧美日韩情趣电影| 国产精品视频在线看| 日韩av一区二区在线影视| 97se狠狠狠综合亚洲狠狠| 精品国偷自产国产一区| 亚洲自拍偷拍欧美| 成人激情免费网站| 欧美本精品男人aⅴ天堂| 亚洲国产精品久久不卡毛片| 成人综合激情网| 欧美sm极限捆绑bd| 天天色天天操综合| 色狠狠色狠狠综合| 中文字幕的久久| 国产传媒日韩欧美成人| 2024国产精品| 精品综合久久久久久8888| 欧美精品99久久久**| 最新高清无码专区| 成人av在线影院| 国产欧美视频一区二区三区| 国产一区二区三区在线观看免费视频| 欧美一区二区女人| 日韩电影免费在线看| 欧美日韩亚州综合| 一区二区三区日韩精品| 91麻豆国产精品久久| 国产精品第13页| 99re这里只有精品6| 国产精品免费aⅴ片在线观看| 国产麻豆视频精品| 久久精品一区四区| 国产乱码字幕精品高清av| 欧美激情一区二区三区全黄| 国产在线精品一区二区夜色| 国产欧美一区二区精品性色超碰|