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

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

?? fck.js

?? 強大的個人日志系統,界面華麗
?? JS
?? 第 1 頁 / 共 3 頁
字號:
			// Protect parts of the code that must remain untouched (and invisible)
			// during editing.
			data = FCKConfig.ProtectedSource.Protect( data ) ;

			// Call the Data Processor to transform the data.
			data = FCK.DataProcessor.ConvertToHtml( data ) ;

			// Fix for invalid self-closing tags (see #152).
			data = data.replace( FCKRegexLib.InvalidSelfCloseTags, '$1></$2>' ) ;

			// Protect event attributes (they could get fired in the editing area).
			data = FCK.ProtectEvents( data ) ;

			// Protect some things from the browser itself.
			data = FCK.ProtectUrls( data ) ;
			data = FCK.ProtectTags( data ) ;

			// Insert the base tag (FCKConfig.BaseHref), if not exists in the source.
			// The base must be the first tag in the HEAD, to get relative
			// links on styles, for example.
			if ( FCK.TempBaseTag.length > 0 && !FCKRegexLib.HasBaseTag.test( data ) )
				data = data.replace( FCKRegexLib.HeadOpener, '$&' + FCK.TempBaseTag ) ;

			// Build the HTML for the additional things we need on <head>.
			var sHeadExtra = '' ;

			if ( !FCKConfig.FullPage )
				sHeadExtra += _FCK_GetEditorAreaStyleTags() ;

			if ( FCKBrowserInfo.IsIE )
				sHeadExtra += FCK._GetBehaviorsStyle() ;
			else if ( FCKConfig.ShowBorders )
				sHeadExtra += FCKTools.GetStyleHtml( FCK_ShowTableBordersCSS, true ) ;

			sHeadExtra += FCKTools.GetStyleHtml( FCK_InternalCSS, true ) ;

			// Attention: do not change it before testing it well (sample07)!
			// This is tricky... if the head ends with <meta ... content type>,
			// Firefox will break. But, it works if we place our extra stuff as
			// the last elements in the HEAD.
			data = data.replace( FCKRegexLib.HeadCloser, sHeadExtra + '$&' ) ;

			// Load the HTML in the editing area.
			this.EditingArea.OnLoad = _FCK_EditingArea_OnLoad ;
			this.EditingArea.Start( data ) ;
		}
		else
		{
			// Remove the references to the following elements, as the editing area
			// IFRAME will be removed.
			FCK.EditorWindow	= null ;
			FCK.EditorDocument	= null ;
			FCKDomTools.PaddingNode = null ;

			this.EditingArea.OnLoad = null ;
			this.EditingArea.Start( data ) ;

			// Enables the context menu in the textarea.
			this.EditingArea.Textarea._FCKShowContextMenu = true ;

			// Removes the enter key handler.
			FCK.EnterKeyHandler = null ;

			if ( resetIsDirty )
				this.ResetIsDirty() ;

			// Listen for keystroke events.
			FCK.KeystrokeHandler.AttachToElement( this.EditingArea.Textarea ) ;

			this.EditingArea.Textarea.focus() ;

			FCK.Events.FireEvent( 'OnAfterSetHTML' ) ;
		}

		if ( FCKBrowserInfo.IsGecko )
			window.onresize() ;
	},

	// This collection is used by the browser specific implementations to tell
	// which named commands must be handled separately.
	RedirectNamedCommands : new Object(),

	ExecuteNamedCommand : function( commandName, commandParameter, noRedirect, noSaveUndo )
	{
		if ( !noSaveUndo )
			FCKUndo.SaveUndoStep() ;

		if ( !noRedirect && FCK.RedirectNamedCommands[ commandName ] != null )
			FCK.ExecuteRedirectedNamedCommand( commandName, commandParameter ) ;
		else
		{
			FCK.Focus() ;
			FCK.EditorDocument.execCommand( commandName, false, commandParameter ) ;
			FCK.Events.FireEvent( 'OnSelectionChange' ) ;
		}

		if ( !noSaveUndo )
		FCKUndo.SaveUndoStep() ;
	},

	GetNamedCommandState : function( commandName )
	{
		try
		{

			// Bug #50 : Safari never returns positive state for the Paste command, override that.
			if ( FCKBrowserInfo.IsSafari && FCK.EditorWindow && commandName.IEquals( 'Paste' ) )
				return FCK_TRISTATE_OFF ;

			if ( !FCK.EditorDocument.queryCommandEnabled( commandName ) )
				return FCK_TRISTATE_DISABLED ;
			else
			{
				return FCK.EditorDocument.queryCommandState( commandName ) ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ;
			}
		}
		catch ( e )
		{
			return FCK_TRISTATE_OFF ;
		}
	},

	GetNamedCommandValue : function( commandName )
	{
		var sValue = '' ;
		var eState = FCK.GetNamedCommandState( commandName ) ;

		if ( eState == FCK_TRISTATE_DISABLED )
			return null ;

		try
		{
			sValue = this.EditorDocument.queryCommandValue( commandName ) ;
		}
		catch(e) {}

		return sValue ? sValue : '' ;
	},

	Paste : function( _callListenersOnly )
	{
		// First call 'OnPaste' listeners.
		if ( FCK.Status != FCK_STATUS_COMPLETE || !FCK.Events.FireEvent( 'OnPaste' ) )
			return false ;

		// Then call the default implementation.
		return _callListenersOnly || FCK._ExecPaste() ;
	},

	PasteFromWord : function()
	{
		FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteFromWord, 'dialog/fck_paste.html', 400, 330, 'Word' ) ;
	},

	Preview : function()
	{
		var sHTML ;

		if ( FCKConfig.FullPage )
		{
			if ( FCK.TempBaseTag.length > 0 )
				sHTML = FCK.TempBaseTag + FCK.GetXHTML() ;
			else
				sHTML = FCK.GetXHTML() ;
		}
		else
		{
			sHTML =
				FCKConfig.DocType +
				'<html dir="' + FCKConfig.ContentLangDirection + '">' +
				'<head>' +
				FCK.TempBaseTag +
				'<title>' + FCKLang.Preview + '</title>' +
				_FCK_GetEditorAreaStyleTags() +
				'</head><body' + FCKConfig.GetBodyAttributes() + '>' +
				FCK.GetXHTML() +
				'</body></html>' ;
		}

		var iWidth	= FCKConfig.ScreenWidth * 0.8 ;
		var iHeight	= FCKConfig.ScreenHeight * 0.7 ;
		var iLeft	= ( FCKConfig.ScreenWidth - iWidth ) / 2 ;

		var sOpenUrl = '' ;
		if ( FCK_IS_CUSTOM_DOMAIN && FCKBrowserInfo.IsIE)
		{
			window._FCKHtmlToLoad = sHTML ;
			sOpenUrl = 'javascript:void( (function(){' +
				'document.open() ;' +
				'document.domain="' + document.domain + '" ;' +
				'document.write( window.opener._FCKHtmlToLoad );' +
				'document.close() ;' +
				'window.opener._FCKHtmlToLoad = null ;' +
				'})() )' ;
		}

		var oWindow = window.open( sOpenUrl, null, 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=' + iWidth + ',height=' + iHeight + ',left=' + iLeft ) ;

		if ( !FCK_IS_CUSTOM_DOMAIN || !FCKBrowserInfo.IsIE)
		{
			oWindow.document.write( sHTML );
			oWindow.document.close();
		}

	},

	SwitchEditMode : function( noUndo )
	{
		var bIsWysiwyg = ( FCK.EditMode == FCK_EDITMODE_WYSIWYG ) ;

		// Save the current IsDirty state, so we may restore it after the switch.
		var bIsDirty = FCK.IsDirty() ;

		var sHtml ;

		// Update the HTML in the view output to show, also update
		// FCKTempBin for IE to avoid #2263.
		if ( bIsWysiwyg )
		{
			FCKCommands.GetCommand( 'ShowBlocks' ).SaveState() ;
			if ( !noUndo && FCKBrowserInfo.IsIE )
				FCKUndo.SaveUndoStep() ;

			sHtml = FCK.GetXHTML( FCKConfig.FormatSource ) ;

			if ( FCKBrowserInfo.IsIE )
				FCKTempBin.ToHtml() ;

			if ( sHtml == null )
				return false ;
		}
		else
			sHtml = this.EditingArea.Textarea.value ;

		FCK.EditMode = bIsWysiwyg ? FCK_EDITMODE_SOURCE : FCK_EDITMODE_WYSIWYG ;

		FCK.SetData( sHtml, !bIsDirty ) ;

		// Set the Focus.
		FCK.Focus() ;

		// Update the toolbar (Running it directly causes IE to fail).
		FCKTools.RunFunction( FCK.ToolbarSet.RefreshModeState, FCK.ToolbarSet ) ;

		return true ;
	},

	InsertElement : function( element )
	{
		// The parameter may be a string (element name), so transform it in an element.
		if ( typeof element == 'string' )
			element = this.EditorDocument.createElement( element ) ;

		var elementName = element.nodeName.toLowerCase() ;

		FCKSelection.Restore() ;

		// Create a range for the selection. V3 will have a new selection
		// object that may internally supply this feature.
		var range = new FCKDomRange( this.EditorWindow ) ;

		// Move to the selection and delete it.
		range.MoveToSelection() ;
		range.DeleteContents() ;

		if ( FCKListsLib.BlockElements[ elementName ] != null )
		{
			if ( range.StartBlock )
			{
				if ( range.CheckStartOfBlock() )
					range.MoveToPosition( range.StartBlock, 3 ) ;
				else if ( range.CheckEndOfBlock() )
					range.MoveToPosition( range.StartBlock, 4 ) ;
				else
					range.SplitBlock() ;
			}

			range.InsertNode( element ) ;

			var next = FCKDomTools.GetNextSourceElement( element, false, null, [ 'hr','br','param','img','area','input' ], true ) ;

			// Be sure that we have something after the new element, so we can move the cursor there.
			if ( !next && FCKConfig.EnterMode != 'br')
			{
				next = this.EditorDocument.body.appendChild( this.EditorDocument.createElement( FCKConfig.EnterMode ) ) ;

				if ( FCKBrowserInfo.IsGeckoLike )
					FCKTools.AppendBogusBr( next ) ;
			}

			if ( FCKListsLib.EmptyElements[ elementName ] == null )
				range.MoveToElementEditStart( element ) ;
			else if ( next )
				range.MoveToElementEditStart( next ) ;
			else
				range.MoveToPosition( element, 4 ) ;

			if ( FCKBrowserInfo.IsGeckoLike )
			{
				if ( next )
					FCKDomTools.ScrollIntoView( next, false );
				FCKDomTools.ScrollIntoView( element, false );
			}
		}
		else
		{
			// Insert the node.
			range.InsertNode( element ) ;

			// Move the selection right after the new element.
			// DISCUSSION: Should we select the element instead?
			range.SetStart( element, 4 ) ;
			range.SetEnd( element, 4 ) ;
		}

		range.Select() ;
		range.Release() ;

		// REMOVE IT: The focus should not really be set here. It is up to the
		// calling code to reset the focus if needed.
		this.Focus() ;

		return element ;
	},

	_InsertBlockElement : function( blockElement )
	{
	},

	_IsFunctionKey : function( keyCode )
	{
		// keys that are captured but do not change editor contents
		if ( keyCode >= 16 && keyCode <= 20 )
			// shift, ctrl, alt, pause, capslock
			return true ;
		if ( keyCode == 27 || ( keyCode >= 33 && keyCode <= 40 ) )
			// esc, page up, page down, end, home, left, up, right, down
			return true ;
		if ( keyCode == 45 )
			// insert, no effect on FCKeditor, yet
			return true ;
		return false ;
	},

	_KeyDownListener : function( evt )
	{
		if (! evt)
			evt = FCK.EditorWindow.event ;
		if ( FCK.EditorWindow )
		{
			if ( !FCK._IsFunctionKey(evt.keyCode) // do not capture function key presses, like arrow keys or shift/alt/ctrl
					&& !(evt.ctrlKey || evt.metaKey) // do not capture Ctrl hotkeys, as they have their snapshot capture logic
					&& !(evt.keyCode == 46) ) // do not capture Del, it has its own capture logic in fckenterkey.js
				FCK._KeyDownUndo() ;
		}
		return true ;
	},

	_KeyDownUndo : function()
	{
		if ( !FCKUndo.Typing )
		{
			FCKUndo.SaveUndoStep() ;
			FCKUndo.Typing = true ;
			FCK.Events.FireEvent( "OnSelectionChange" ) ;
		}

		FCKUndo.TypesCount++ ;
		FCKUndo.Changed = 1 ;

		if ( FCKUndo.TypesCount > FCKUndo.MaxTypes )
		{
			FCKUndo.TypesCount = 0 ;
			FCKUndo.SaveUndoStep() ;
		}
	},

	_TabKeyHandler : function( evt )
	{
		if ( ! evt )
			evt = window.event ;

		var keystrokeValue = evt.keyCode ;

		// Pressing <Tab> in source mode should produce a tab space in the text area, not
		// changing the focus to something else.
		if ( keystrokeValue == 9 && FCK.EditMode != FCK_EDITMODE_WYSIWYG )
		{
			if ( FCKBrowserInfo.IsIE )
			{
				var range = document.selection.createRange() ;
				if ( range.parentElement() != FCK.EditingArea.Textarea )
					return true ;
				range.text = '\t' ;
				range.select() ;
			}
			else
			{
				var a = [] ;
				var el = FCK.EditingArea.Textarea ;
				var selStart = el.selectionStart ;
				var selEnd = el.selectionEnd ;
				a.push( el.value.substr(0, selStart ) ) ;
				a.push( '\t' ) ;
				a.push( el.value.substr( selEnd ) ) ;
				el.value = a.join( '' ) ;
				el.setSelectionRange( selStart + 1, selStart + 1 ) ;
			}

			if ( evt.preventDefault )
				return evt.preventDefault() ;

			return evt.returnValue = false ;
		}

		return true ;
	}
} ;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色狠狠色综合日日91app| 91丨porny丨户外露出| 国产无一区二区| 欧美xfplay| 日韩欧美一区二区不卡| 欧美一区二区三区免费视频| 欧美日韩精品三区| 欧美日韩免费电影| 91麻豆精品国产自产在线观看一区 | 欧美精品日韩精品| 欧美人妖巨大在线| 欧美一区二区久久久| 日韩一区二区精品| 精品久久久久久久人人人人传媒 | 欧美高清在线一区二区| 国产欧美视频一区二区| 国产精品免费观看视频| 日韩理论片一区二区| 日韩一区欧美小说| 亚洲综合成人在线视频| 亚洲国产wwwccc36天堂| 五月开心婷婷久久| 另类小说视频一区二区| 久久激情五月婷婷| 国产mv日韩mv欧美| 一本大道久久a久久综合| 91成人免费在线| 欧美丰满少妇xxxbbb| 日韩欧美电影在线| 欧美国产日韩亚洲一区| 亚洲欧美日韩国产成人精品影院| 亚洲第一在线综合网站| 麻豆精品蜜桃视频网站| 久久99国产精品免费网站| 国产精品一色哟哟哟| 成人综合婷婷国产精品久久免费| 韩国欧美一区二区| 精品一区二区国语对白| 国产麻豆一精品一av一免费| 麻豆成人91精品二区三区| av中文字幕不卡| 国内久久婷婷综合| 粉嫩一区二区三区性色av| 国产69精品一区二区亚洲孕妇| 欧美成人女星排行榜| 精品伦理精品一区| 国产精品美女久久久久久2018| 亚洲自拍偷拍综合| 国产在线一区二区综合免费视频| 成人午夜视频在线| 欧美日韩不卡一区| 国产欧美日韩激情| 亚洲成a人片在线不卡一二三区| 韩国精品一区二区| 在线精品视频小说1| 久久久三级国产网站| 亚洲专区一二三| 国产999精品久久久久久| 欧美日韩美女一区二区| 日本一区二区综合亚洲| 日韩精品乱码免费| 99久久精品国产一区二区三区| 日韩午夜精品视频| 亚洲女与黑人做爰| 成熟亚洲日本毛茸茸凸凹| 日韩一区二区在线观看视频播放| 亚洲婷婷在线视频| 国产在线不卡一区| 欧美日韩高清一区二区| 国产精品家庭影院| 久久精品国产秦先生| 欧美视频在线不卡| 国产精品进线69影院| 国内外精品视频| 欧美一区二区播放| 亚洲一区在线视频观看| 国产69精品久久99不卡| 日韩亚洲欧美中文三级| 一区二区激情视频| av一区二区不卡| 国产亚洲欧美中文| 九一久久久久久| 91精品国产综合久久福利软件| 玉足女爽爽91| 99re免费视频精品全部| 国产欧美一区二区三区沐欲| 136国产福利精品导航| 国产传媒日韩欧美成人| 亚洲综合成人在线| 日韩亚洲欧美在线| 老司机午夜精品| 精品久久人人做人人爰| 久久99精品久久久| 国产欧美一区二区三区在线看蜜臀 | 国产精品理论在线观看| 日本中文字幕一区二区视频| 日韩毛片一二三区| 床上的激情91.| 欧美国产一区二区在线观看| 国产乱一区二区| 2023国产精华国产精品| 美女免费视频一区| 欧美一区二区美女| 蜜桃av一区二区三区电影| 欧美一区二区三级| 日韩av不卡在线观看| 91精品国产乱码久久蜜臀| 日韩在线观看一区二区| 51精品国自产在线| 日本美女视频一区二区| 666欧美在线视频| 日本亚洲免费观看| 91精品国产一区二区三区蜜臀| 日韩精品高清不卡| 日韩一区二区免费高清| 久久国产精品免费| 久久夜色精品一区| 国产河南妇女毛片精品久久久| 久久久不卡网国产精品一区| 懂色中文一区二区在线播放| 国产精品免费av| 91极品美女在线| 亚洲aaa精品| 欧美成人一区二区| 国产成人啪午夜精品网站男同| 国产精品美女www爽爽爽| 91香蕉国产在线观看软件| 亚洲最色的网站| 日韩一级精品视频在线观看| 国产精品影音先锋| 国产精品麻豆久久久| 在线观看欧美日本| 免费亚洲电影在线| 国产亚洲精品免费| 色综合天天综合在线视频| 亚洲成人av电影在线| 2欧美一区二区三区在线观看视频| 粉嫩久久99精品久久久久久夜| 亚洲另类春色校园小说| 欧美福利一区二区| 国产精品亚洲第一区在线暖暖韩国| 综合久久国产九一剧情麻豆| 精品视频1区2区| 久久久久国产精品人| 欧美一区二区精美| 亚洲人妖av一区二区| 亚洲欧洲另类国产综合| 国产精品成人在线观看| 国产精品女上位| 亚洲精品精品亚洲| 亚洲免费看黄网站| 亚瑟在线精品视频| 99精品欧美一区二区蜜桃免费| 黄色日韩网站视频| 国产一区免费电影| 69p69国产精品| 日日欢夜夜爽一区| 欧美人与禽zozo性伦| 韩国一区二区视频| 一区二区三区鲁丝不卡| 亚洲精品一线二线三线无人区| 色综合久久综合网欧美综合网| 久久精品72免费观看| 一区二区三区日本| 久久久91精品国产一区二区精品| 欧美在线啊v一区| 国产精品99久久久久久久女警| 亚洲高清久久久| 国产精品人人做人人爽人人添| 日韩一级欧美一级| 精品视频全国免费看| av成人免费在线| 国产乱人伦精品一区二区在线观看| 亚洲在线视频网站| 中文字幕免费不卡| xnxx国产精品| 欧美一区二区精品久久911| 日本高清无吗v一区| 丁香一区二区三区| 久久99国产精品免费| 首页国产欧美久久| 一区二区三区在线观看欧美| 欧美经典一区二区三区| 日韩女优视频免费观看| 欧美性受极品xxxx喷水| av中文字幕亚洲| 成人免费福利片| 国产经典欧美精品| 极品瑜伽女神91| 美女看a上一区| 日本亚洲欧美天堂免费| 亚洲成人你懂的| 亚洲一区二区三区在线| 中文字幕五月欧美| 中文字幕的久久| 中文字幕免费一区| 国产精品久久久久精k8| 国产欧美日韩综合| 亚洲国产精品av| 国产精品乱码久久久久久|