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

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

?? fckeditingarea.js

?? java web網絡編程示例,原代碼資源
?? JS
字號:
?/*
 * 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 ==
 *
 * FCKEditingArea Class: renders an editable area.
 */

/**
 * @constructor
 * @param {String} targetElement The element that will hold the editing area. Any child element present in the target will be deleted.
 */
var FCKEditingArea = function( targetElement )
{
	this.TargetElement = targetElement ;
	this.Mode = FCK_EDITMODE_WYSIWYG ;

	if ( FCK.IECleanup )
		FCK.IECleanup.AddItem( this, FCKEditingArea_Cleanup ) ;
}


/**
 * @param {String} html The complete HTML for the page, including DOCTYPE and the <html> tag.
 */
FCKEditingArea.prototype.Start = function( html, secondCall )
{
	var eTargetElement	= this.TargetElement ;
	var oTargetDocument	= FCKTools.GetElementDocument( eTargetElement ) ;

	// Remove all child nodes from the target.
	while( eTargetElement.childNodes.length > 0 )
		eTargetElement.removeChild( eTargetElement.childNodes[0] ) ;

	if ( this.Mode == FCK_EDITMODE_WYSIWYG )
	{
		// Create the editing area IFRAME.
		var oIFrame = this.IFrame = oTargetDocument.createElement( 'iframe' ) ;
		oIFrame.src = 'javascript:void(0)' ;
		oIFrame.frameBorder = 0 ;
		oIFrame.width = oIFrame.height = '100%' ;

		// Append the new IFRAME to the target.
		eTargetElement.appendChild( oIFrame ) ;

		// IE has a bug with the <base> tag... it must have a </base> closer,
		// otherwise the all sucessive tags will be set as children nodes of the <base>.
		if ( FCKBrowserInfo.IsIE )
			html = html.replace( /(<base[^>]*?)\s*\/?>(?!\s*<\/base>)/gi, '$1></base>' ) ;
		else if ( !secondCall )
		{
			// If nothing in the body, place a BOGUS tag so the cursor will appear.
			if ( FCKBrowserInfo.IsGecko )
				html = html.replace( /(<body[^>]*>)\s*(<\/body>)/i, '$1' + GECKO_BOGUS + '$2' ) ;

			// Gecko moves some tags out of the body to the head, so we must use
			// innerHTML to set the body contents (SF BUG 1526154).

			// Extract the BODY contents from the html.
			var oMatch = html.match( FCKRegexLib.BodyContents ) ;

			if ( oMatch )
			{
				html =
					oMatch[1] +					// This is the HTML until the <body...> tag, inclusive.
					'&nbsp;' +
					oMatch[3] ;					// This is the HTML from the </body> tag, inclusive.

				this._BodyHTML = oMatch[2] ;	// This is the BODY tag contents.
			}
			else
				this._BodyHTML = html ;			// Invalid HTML input.
		}

		// Get the window and document objects used to interact with the newly created IFRAME.
		this.Window = oIFrame.contentWindow ;

		// IE: Avoid JavaScript errors thrown by the editing are source (like tags events).
		// TODO: This error handler is not being fired.
		// this.Window.onerror = function() { alert( 'Error!' ) ; return true ; }

		var oDoc = this.Document = this.Window.document ;

		oDoc.open() ;
		oDoc.write( html ) ;
		oDoc.close() ;

		// Firefox 1.0.x is buggy... ohh yes... so let's do it two times and it
		// will magicaly work.
		if ( FCKBrowserInfo.IsGecko10 && !secondCall )
		{
			this.Start( html, true ) ;
			return ;
		}

		this.Window._FCKEditingArea = this ;

		// FF 1.0.x is buggy... we must wait a lot to enable editing because
		// sometimes the content simply disappears, for example when pasting
		// "bla1!<img src='some_url'>!bla2" in the source and then switching
		// back to design.
		if ( FCKBrowserInfo.IsGecko10 )
			this.Window.setTimeout( FCKEditingArea_CompleteStart, 500 ) ;
		else
			FCKEditingArea_CompleteStart.call( this.Window ) ;
	}
	else
	{
		var eTextarea = this.Textarea = oTargetDocument.createElement( 'textarea' ) ;
		eTextarea.className = 'SourceField' ;
		eTextarea.dir = 'ltr' ;
		eTextarea.style.width = eTextarea.style.height = '100%' ;
		eTextarea.style.border = 'none' ;
		eTargetElement.appendChild( eTextarea ) ;

		eTextarea.value = html  ;

		// Fire the "OnLoad" event.
		FCKTools.RunFunction( this.OnLoad ) ;
	}
}

// "this" here is FCKEditingArea.Window
function FCKEditingArea_CompleteStart()
{
	// Of Firefox, the DOM takes a little to become available. So we must wait for it in a loop.
	if ( !this.document.body )
	{
		this.setTimeout( FCKEditingArea_CompleteStart, 50 ) ;
		return ;
	}

	var oEditorArea = this._FCKEditingArea ;
	oEditorArea.MakeEditable() ;

	// Fire the "OnLoad" event.
	FCKTools.RunFunction( oEditorArea.OnLoad ) ;
}

FCKEditingArea.prototype.MakeEditable = function()
{
	var oDoc = this.Document ;

	if ( FCKBrowserInfo.IsIE )
	{
		oDoc.body.contentEditable = true ;

		/* The following commands don't throw errors, but have no effect.
		oDoc.execCommand( 'AutoDetect', false, false ) ;
		oDoc.execCommand( 'KeepSelection', false, true ) ;
		*/
	}
	else
	{
		try
		{
			// Disable Firefox 2 Spell Checker.
			oDoc.body.spellcheck = ( this.FFSpellChecker !== false ) ;

			if ( this._BodyHTML )
			{
				oDoc.body.innerHTML = this._BodyHTML ;
				this._BodyHTML = null ;
			}

			oDoc.designMode = 'on' ;

			// Tell Gecko to use or not the <SPAN> tag for the bold, italic and underline.
			try
			{
				oDoc.execCommand( 'styleWithCSS', false, FCKConfig.GeckoUseSPAN ) ;
			}
			catch (e)
			{
				// As evidenced here, useCSS is deprecated in favor of styleWithCSS:
				// http://www.mozilla.org/editor/midas-spec.html
				oDoc.execCommand( 'useCSS', false, !FCKConfig.GeckoUseSPAN ) ;
			}

			// Analysing Firefox 1.5 source code, it seams that there is support for a
			// "insertBrOnReturn" command. Applying it gives no error, but it doesn't
			// gives the same behavior that you have with IE. It works only if you are
			// already inside a paragraph and it doesn't render correctly in the first enter.
			// oDoc.execCommand( 'insertBrOnReturn', false, false ) ;

			// Tell Gecko (Firefox 1.5+) to enable or not live resizing of objects (by Alfonso Martinez)
			oDoc.execCommand( 'enableObjectResizing', false, !FCKConfig.DisableObjectResizing ) ;

			// Disable the standard table editing features of Firefox.
			oDoc.execCommand( 'enableInlineTableEditing', false, !FCKConfig.DisableFFTableHandles ) ;
		}
		catch (e) {}
	}
}

FCKEditingArea.prototype.Focus = function()
{
	try
	{
		if ( this.Mode == FCK_EDITMODE_WYSIWYG )
		{
			// The following check is important to avoid IE entering in a focus loop. Ref:
			// http://sourceforge.net/tracker/index.php?func=detail&aid=1567060&group_id=75348&atid=543653
			if ( FCKBrowserInfo.IsIE && this.Document.hasFocus() )
				return ;

			if ( FCKBrowserInfo.IsSafari )
				this.IFrame.focus() ;
			else
			{
				this.Window.focus() ;
			}
		}
		else
		{
			var oDoc = FCKTools.GetElementDocument( this.Textarea ) ;
			if ( (!oDoc.hasFocus || oDoc.hasFocus() ) && oDoc.activeElement == this.Textarea )
				return ;

			this.Textarea.focus() ;
		}
	}
	catch(e) {}
}

function FCKEditingArea_Cleanup()
{
	this.TargetElement = null ;
	this.IFrame = null ;
	this.Document = null ;
	this.Textarea = null ;

	if ( this.Window )
	{
		this.Window._FCKEditingArea = null ;
		this.Window = null ;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人欧美一区二区三区| 日韩av不卡在线观看| 亚洲电影欧美电影有声小说| 日本伊人午夜精品| 91色在线porny| 精品久久人人做人人爰| 一区二区三区精品| 在线一区二区三区做爰视频网站| 日韩一区二区三区在线视频| 亚洲视频免费看| 激情五月激情综合网| 欧美色欧美亚洲另类二区| 欧美激情综合在线| 精品一区二区三区蜜桃| 欧美日韩一级视频| 一区二区在线电影| 北条麻妃一区二区三区| 久久综合九色综合欧美亚洲| 奇米精品一区二区三区在线观看| 色狠狠色噜噜噜综合网| 1024成人网| 不卡视频一二三四| 中文字幕在线视频一区| 国产伦精一区二区三区| 欧美一区2区视频在线观看| 亚洲国产一区二区视频| 一道本成人在线| 亚洲人成影院在线观看| eeuss影院一区二区三区| 欧美激情在线观看视频免费| 国产精华液一区二区三区| 日韩精品一区二区三区老鸭窝| 五月婷婷另类国产| 欧美裸体一区二区三区| 午夜国产不卡在线观看视频| 欧美性大战久久久久久久| 亚洲靠逼com| 日本伦理一区二区| 亚洲va欧美va天堂v国产综合| 欧美日韩一区在线观看| 亚洲成人高清在线| 欧美一区二区在线不卡| 奇米777欧美一区二区| 精品国产髙清在线看国产毛片| 免费在线成人网| 精品入口麻豆88视频| 国产综合色产在线精品| 中文字幕欧美日本乱码一线二线| 国产一区欧美一区| 中文字幕亚洲不卡| 欧美综合视频在线观看| 午夜视频一区二区| 欧美videossexotv100| 国产盗摄一区二区| 亚洲少妇中出一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 欧美在线不卡一区| 亚洲成人av免费| 精品国产乱码久久久久久闺蜜| 精品制服美女丁香| 国产精品乱码一区二区三区软件| av激情成人网| 日韩精品亚洲一区二区三区免费| 欧美成人一区二区| jiyouzz国产精品久久| 亚洲国产精品天堂| 久久色中文字幕| 色悠久久久久综合欧美99| 日韩精品电影一区亚洲| 国产日韩欧美精品电影三级在线| 91蜜桃传媒精品久久久一区二区| 午夜视频一区二区| 亚洲国产精品成人久久综合一区 | 日韩高清不卡一区二区| 久久亚洲二区三区| 欧美午夜不卡在线观看免费| 精品一区二区久久| 一区二区在线观看视频| 久久久久国产精品麻豆| 欧美性xxxxxx少妇| 国产麻豆精品一区二区| 亚洲h在线观看| 亚洲欧洲成人自拍| 欧美成人女星排行榜| 色天天综合久久久久综合片| 韩国三级电影一区二区| 亚洲二区视频在线| 综合电影一区二区三区 | 在线观看免费亚洲| 国产成人免费在线观看| 免费成人在线播放| 夜夜精品浪潮av一区二区三区| 国产日产欧产精品推荐色| 91精品国产综合久久香蕉的特点| 97精品国产97久久久久久久久久久久| 日本免费在线视频不卡一不卡二| 亚洲少妇最新在线视频| 中文在线一区二区| 欧美精品一区二区三区高清aⅴ | 久久精品一区二区三区不卡 | 青草国产精品久久久久久| 日韩一区欧美一区| 国产日韩欧美激情| 欧美不卡一区二区三区| 337p亚洲精品色噜噜噜| 一本久道中文字幕精品亚洲嫩| 国产91在线观看| 日韩影院免费视频| 天天影视网天天综合色在线播放| 亚洲久草在线视频| 国产亚洲美州欧州综合国| 日韩亚洲欧美综合| 欧美性猛交一区二区三区精品| 99久久精品国产精品久久 | 精品亚洲aⅴ乱码一区二区三区| 亚洲综合999| 亚洲男人电影天堂| 国产精品情趣视频| 欧美激情一区在线观看| 欧美国产在线观看| 久久美女高清视频| 久久精品一区二区三区av | 国产欧美综合在线观看第十页 | 亚洲欧美在线观看| 亚洲三级在线看| 亚洲男同性视频| 亚洲综合色区另类av| 亚洲观看高清完整版在线观看| 亚洲国产va精品久久久不卡综合 | 欧美三级三级三级爽爽爽| 欧美日韩日日夜夜| 91精品欧美一区二区三区综合在| 制服丝袜在线91| 欧美哺乳videos| 久久精品一区二区| 1024成人网| 亚洲最新视频在线观看| 午夜精品福利久久久| 日韩精品成人一区二区在线| 欧美aaa在线| 激情久久久久久久久久久久久久久久| 久久成人精品无人区| 成人永久免费视频| 在线精品视频小说1| 91精品国产综合久久久蜜臀图片 | 国产亚洲一本大道中文在线| 久久精品视频网| 日韩一区中文字幕| 日韩1区2区日韩1区2区| 国产在线不卡一卡二卡三卡四卡| 国产毛片精品视频| 日本黄色一区二区| 精品久久一区二区三区| 自拍偷拍亚洲激情| 老司机精品视频导航| 成人一区在线看| 欧美二区乱c少妇| 26uuu亚洲婷婷狠狠天堂| 国产精品国产成人国产三级| 亚洲一区二区三区四区在线观看 | 久久综合九色综合97婷婷女人| 国产精品久久久久桃色tv| 亚洲一区二区三区在线| 国产一区高清在线| 日本乱码高清不卡字幕| 日韩精品资源二区在线| 亚洲视频 欧洲视频| 久久99精品国产麻豆婷婷 | 欧美美女一区二区在线观看| 国产目拍亚洲精品99久久精品| 亚洲综合色噜噜狠狠| 国产福利精品导航| 欧美日韩国产另类一区| 国产精品美女久久久久av爽李琼 | 日韩一卡二卡三卡国产欧美| 国产精品五月天| 麻豆成人久久精品二区三区红| 99麻豆久久久国产精品免费| 日韩小视频在线观看专区| 中文字幕一区二区三区不卡在线| 日韩高清国产一区在线| 色综合网站在线| 欧美韩日一区二区三区四区| 麻豆精品在线看| 欧美日韩一区成人| 亚洲美女区一区| 粉嫩欧美一区二区三区高清影视| 91精品国产色综合久久| 亚洲影院在线观看| caoporen国产精品视频| 精品国产三级a在线观看| 日日夜夜精品视频天天综合网| 色欧美乱欧美15图片| 中日韩免费视频中文字幕| 国内精品伊人久久久久av一坑| 日韩一区二区中文字幕| 婷婷久久综合九色综合伊人色| 成人av网址在线| 国产精品久久久久久亚洲伦| 国产成人免费视频网站 |