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

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

?? fckeditor.js

?? jeecms網站管理系統,jeecms網站管理系統,jeecms網站管理系統
?? JS
字號:
/*
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
 * Copyright (C) 2003-2008 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 integration file for JavaScript.
 *
 * It defines the FCKeditor class that can be used to create editor
 * instances in a HTML page in the client side. For server side
 * operations, use the specific integration system.
 */

// FCKeditor Class
var FCKeditor = function( instanceName, width, height, toolbarSet, value )
{
	// Properties
	this.InstanceName	= instanceName ;
	this.Width			= width			|| '100%' ;
	this.Height			= height		|| '200' ;
	this.ToolbarSet		= toolbarSet	|| 'Default' ;
	this.Value			= value			|| '' ;
	this.BasePath		= FCKeditor.BasePath ;
	this.CheckBrowser	= true ;
	this.DisplayErrors	= true ;

	this.Config			= new Object() ;

	// Events
	this.OnError		= null ;	// function( source, errorNumber, errorDescription )
}

/**
 * This is the default BasePath used by all editor instances.
 */
FCKeditor.BasePath = '/fckeditor/' ;

/**
 * The minimum height used when replacing textareas.
 */
FCKeditor.MinHeight = 200 ;

/**
 * The minimum width used when replacing textareas.
 */
FCKeditor.MinWidth = 750 ;

FCKeditor.prototype.Version			= '2.6.3' ;
FCKeditor.prototype.VersionBuild	= '19836' ;

FCKeditor.prototype.Create = function()
{
	document.write( this.CreateHtml() ) ;
}

FCKeditor.prototype.CreateHtml = function()
{
	// Check for errors
	if ( !this.InstanceName || this.InstanceName.length == 0 )
	{
		this._ThrowError( 701, 'You must specify an instance name.' ) ;
		return '' ;
	}

	var sHtml = '' ;

	if ( !this.CheckBrowser || this._IsCompatibleBrowser() )
	{
		sHtml += '<input type="hidden" id="' + this.InstanceName + '" name="' + this.InstanceName + '" value="' + this._HTMLEncode( this.Value ) + '" style="display:none" />' ;
		sHtml += this._GetConfigHtml() ;
		sHtml += this._GetIFrameHtml() ;
	}
	else
	{
		var sWidth  = this.Width.toString().indexOf('%')  > 0 ? this.Width  : this.Width  + 'px' ;
		var sHeight = this.Height.toString().indexOf('%') > 0 ? this.Height : this.Height + 'px' ;

		sHtml += '<textarea name="' + this.InstanceName +
			'" rows="4" cols="40" style="width:' + sWidth +
			';height:' + sHeight ;

		if ( this.TabIndex )
			sHtml += '" tabindex="' + this.TabIndex ;

		sHtml += '">' +
			this._HTMLEncode( this.Value ) +
			'<\/textarea>' ;
	}

	return sHtml ;
}

FCKeditor.prototype.ReplaceTextarea = function()
{
	if ( !this.CheckBrowser || this._IsCompatibleBrowser() )
	{
		// We must check the elements firstly using the Id and then the name.
		var oTextarea = document.getElementById( this.InstanceName ) ;
		var colElementsByName = document.getElementsByName( this.InstanceName ) ;
		var i = 0;
		while ( oTextarea || i == 0 )
		{
			if ( oTextarea && oTextarea.tagName.toLowerCase() == 'textarea' )
				break ;
			oTextarea = colElementsByName[i++] ;
		}

		if ( !oTextarea )
		{
			alert( 'Error: The TEXTAREA with id or name set to "' + this.InstanceName + '" was not found' ) ;
			return ;
		}

		oTextarea.style.display = 'none' ;

		if ( oTextarea.tabIndex )
			this.TabIndex = oTextarea.tabIndex ;

		this._InsertHtmlBefore( this._GetConfigHtml(), oTextarea ) ;
		this._InsertHtmlBefore( this._GetIFrameHtml(), oTextarea ) ;
	}
}

FCKeditor.prototype._InsertHtmlBefore = function( html, element )
{
	if ( element.insertAdjacentHTML )	// IE
		element.insertAdjacentHTML( 'beforeBegin', html ) ;
	else								// Gecko
	{
		var oRange = document.createRange() ;
		oRange.setStartBefore( element ) ;
		var oFragment = oRange.createContextualFragment( html );
		element.parentNode.insertBefore( oFragment, element ) ;
	}
}

FCKeditor.prototype._GetConfigHtml = function()
{
	var sConfig = '' ;
	for ( var o in this.Config )
	{
		if ( sConfig.length > 0 ) sConfig += '&amp;' ;
		sConfig += encodeURIComponent( o ) + '=' + encodeURIComponent( this.Config[o] ) ;
	}

	return '<input type="hidden" id="' + this.InstanceName + '___Config" value="' + sConfig + '" style="display:none" />' ;
}

FCKeditor.prototype._GetIFrameHtml = function()
{
	var sFile = 'fckeditor.html' ;

	try
	{
		if ( (/fcksource=true/i).test( window.top.location.search ) )
			sFile = 'fckeditor.original.html' ;
	}
	catch (e) { /* Ignore it. Much probably we are inside a FRAME where the "top" is in another domain (security error). */ }

	var sLink = this.BasePath + 'editor/' + sFile + '?InstanceName=' + encodeURIComponent( this.InstanceName ) ;
	if (this.ToolbarSet)
		sLink += '&amp;Toolbar=' + this.ToolbarSet ;

	html = '<iframe id="' + this.InstanceName +
		'___Frame" src="' + sLink +
		'" width="' + this.Width +
		'" height="' + this.Height ;

	if ( this.TabIndex )
		html += '" tabindex="' + this.TabIndex ;

	html += '" frameborder="0" scrolling="no"></iframe>' ;

	return html ;
}

FCKeditor.prototype._IsCompatibleBrowser = function()
{
	return FCKeditor_IsCompatibleBrowser() ;
}

FCKeditor.prototype._ThrowError = function( errorNumber, errorDescription )
{
	this.ErrorNumber		= errorNumber ;
	this.ErrorDescription	= errorDescription ;

	if ( this.DisplayErrors )
	{
		document.write( '<div style="COLOR: #ff0000">' ) ;
		document.write( '[ FCKeditor Error ' + this.ErrorNumber + ': ' + this.ErrorDescription + ' ]' ) ;
		document.write( '</div>' ) ;
	}

	if ( typeof( this.OnError ) == 'function' )
		this.OnError( this, errorNumber, errorDescription ) ;
}

FCKeditor.prototype._HTMLEncode = function( text )
{
	if ( typeof( text ) != "string" )
		text = text.toString() ;

	text = text.replace(
		/&/g, "&amp;").replace(
		/"/g, "&quot;").replace(
		/</g, "&lt;").replace(
		/>/g, "&gt;") ;

	return text ;
}

;(function()
{
	var textareaToEditor = function( textarea )
	{
		var editor = new FCKeditor( textarea.name ) ;

		editor.Width = Math.max( textarea.offsetWidth, FCKeditor.MinWidth ) ;
		editor.Height = Math.max( textarea.offsetHeight, FCKeditor.MinHeight ) ;

		return editor ;
	}

	/**
	 * Replace all <textarea> elements available in the document with FCKeditor
	 * instances.
	 *
	 *	// Replace all <textarea> elements in the page.
	 *	FCKeditor.ReplaceAllTextareas() ;
	 *
	 *	// Replace all <textarea class="myClassName"> elements in the page.
	 *	FCKeditor.ReplaceAllTextareas( 'myClassName' ) ;
	 *
	 *	// Selectively replace <textarea> elements, based on custom assertions.
	 *	FCKeditor.ReplaceAllTextareas( function( textarea, editor )
	 *		{
	 *			// Custom code to evaluate the replace, returning false if it
	 *			// must not be done.
	 *			// It also passes the "editor" parameter, so the developer can
	 *			// customize the instance.
	 *		} ) ;
	 */
	FCKeditor.ReplaceAllTextareas = function()
	{
		var textareas = document.getElementsByTagName( 'textarea' ) ;

		for ( var i = 0 ; i < textareas.length ; i++ )
		{
			var editor = null ;
			var textarea = textareas[i] ;
			var name = textarea.name ;

			// The "name" attribute must exist.
			if ( !name || name.length == 0 )
				continue ;

			if ( typeof arguments[0] == 'string' )
			{
				// The textarea class name could be passed as the function
				// parameter.

				var classRegex = new RegExp( '(?:^| )' + arguments[0] + '(?:$| )' ) ;

				if ( !classRegex.test( textarea.className ) )
					continue ;
			}
			else if ( typeof arguments[0] == 'function' )
			{
				// An assertion function could be passed as the function parameter.
				// It must explicitly return "false" to ignore a specific <textarea>.
				editor = textareaToEditor( textarea ) ;
				if ( arguments[0]( textarea, editor ) === false )
					continue ;
			}

			if ( !editor )
				editor = textareaToEditor( textarea ) ;

			editor.ReplaceTextarea() ;
		}
	}
})() ;

function FCKeditor_IsCompatibleBrowser()
{
	var sAgent = navigator.userAgent.toLowerCase() ;

	// Internet Explorer 5.5+
	if ( /*@cc_on!@*/false && sAgent.indexOf("mac") == -1 )
	{
		var sBrowserVersion = navigator.appVersion.match(/MSIE (.\..)/)[1] ;
		return ( sBrowserVersion >= 5.5 ) ;
	}

	// Gecko (Opera 9 tries to behave like Gecko at this point).
	if ( navigator.product == "Gecko" && navigator.productSub >= 20030210 && !( typeof(opera) == 'object' && opera.postError ) )
		return true ;

	// Opera 9.50+
	if ( window.opera && window.opera.version && parseFloat( window.opera.version() ) >= 9.5 )
		return true ;

	// Adobe AIR
	// Checked before Safari because AIR have the WebKit rich text editor
	// features from Safari 3.0.4, but the version reported is 420.
	if ( sAgent.indexOf( ' adobeair/' ) != -1 )
		return ( sAgent.match( / adobeair\/(\d+)/ )[1] >= 1 ) ;	// Build must be at least v1

	// Safari 3+
	if ( sAgent.indexOf( ' applewebkit/' ) != -1 )
		return ( sAgent.match( / applewebkit\/(\d+)/ )[1] >= 522 ) ;	// Build must be at least 522 (v3)

	return false ;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩欧美麻豆| 在线综合+亚洲+欧美中文字幕| 色婷婷综合久久| 欧美三级视频在线播放| 欧美一区二区女人| 久久精品一级爱片| 亚洲激情校园春色| 奇米综合一区二区三区精品视频| 久久成人羞羞网站| 99精品视频在线观看| 欧美电影一区二区三区| 精品国产第一区二区三区观看体验| 中文文精品字幕一区二区| 有码一区二区三区| 蜜桃精品在线观看| av中文一区二区三区| 欧美理论在线播放| 国产欧美一区二区三区在线看蜜臀 | 欧美精品在线一区二区| 久久久激情视频| 亚洲国产一区二区三区| 美女在线视频一区| 一本一本大道香蕉久在线精品| 日韩丝袜美女视频| 一区二区不卡在线视频 午夜欧美不卡在 | 成年人国产精品| 5858s免费视频成人| 国产精品亲子乱子伦xxxx裸| 亚洲成人免费电影| 成人国产精品视频| 日韩一级完整毛片| 亚洲精品成人精品456| 国产精品自拍一区| 欧美精品在线观看一区二区| 日韩一区中文字幕| 国产美女精品在线| 欧美日韩日日骚| 国产精品成人免费| 国产乱码一区二区三区| 欧美日韩成人一区| 玉足女爽爽91| aaa亚洲精品一二三区| 欧美v国产在线一区二区三区| 亚洲一区二区三区在线播放 | 中文字幕一区在线观看视频| 美洲天堂一区二卡三卡四卡视频| 色婷婷激情综合| 国产精品国产自产拍高清av| 精品在线免费观看| 91精品国产福利| 亚洲最大色网站| 色综合久久综合| 国产精品白丝在线| 成人一区二区三区视频在线观看| 日韩欧美国产综合| 日韩成人免费电影| 欧美吞精做爰啪啪高潮| 亚洲日本在线看| 成人高清伦理免费影院在线观看| 精品国产三级a在线观看| 日韩有码一区二区三区| 欧美在线不卡视频| 亚洲中国最大av网站| 91丨porny丨首页| 成人免费在线播放视频| 国产成人aaaa| 国产日韩三级在线| 国产成人午夜高潮毛片| 久久综合视频网| 国产一区二区三区四区五区美女 | 亚洲成年人影院| 91麻豆swag| 亚洲免费高清视频在线| 91麻豆swag| 亚洲成人动漫av| 91精品国产综合久久久蜜臀图片 | 欧美一区二区高清| 日韩电影在线看| 91麻豆精品国产自产在线观看一区 | 国产成人综合在线播放| 精品成人佐山爱一区二区| 久久9热精品视频| 久久网站最新地址| 国产不卡高清在线观看视频| 国产欧美日韩久久| 成人av电影免费在线播放| 国产精品美女久久久久久2018| 成人污污视频在线观看| 国产精品视频九色porn| 中文字幕在线一区二区三区| av激情综合网| 亚洲精品一卡二卡| 欧美在线free| 免费国产亚洲视频| 久久久国产精品午夜一区ai换脸| 成人性生交大片免费看中文网站| 亚洲天堂2014| 欧美日韩精品免费观看视频| 看片的网站亚洲| 国产日韩影视精品| 色婷婷国产精品| 日韩电影在线观看网站| 久久久www成人免费无遮挡大片| 成人综合婷婷国产精品久久| 亚洲视频一区二区在线| 欧美乱妇一区二区三区不卡视频| 国产自产v一区二区三区c| 国产精品无码永久免费888| 色悠久久久久综合欧美99| 午夜天堂影视香蕉久久| 欧美成人a视频| 成人av网站大全| 天堂久久久久va久久久久| 精品国产一区二区三区av性色| 不卡大黄网站免费看| 首页亚洲欧美制服丝腿| 久久久久久久久久久久久久久99| 91蝌蚪porny九色| 青青草国产精品97视觉盛宴| 国产精品午夜春色av| 欧美老女人在线| aaa欧美大片| 久久爱www久久做| 亚洲欧美日韩电影| 欧美电影免费观看高清完整版在线观看 | 色综合天天性综合| 麻豆91免费看| 亚洲欧美色综合| 日韩免费视频一区二区| 一本一本大道香蕉久在线精品| 激情偷乱视频一区二区三区| 亚洲精品写真福利| 精品国产乱码久久久久久夜甘婷婷| 99久久伊人网影院| 麻豆国产精品视频| 亚洲制服丝袜av| 国产欧美精品在线观看| 8x8x8国产精品| 99精品1区2区| 国内成人自拍视频| 日韩福利视频导航| 亚洲欧美偷拍卡通变态| 久久久久久久综合狠狠综合| 欧美日韩国产一区二区三区地区| 国产成+人+日韩+欧美+亚洲| 日韩在线一二三区| 亚洲综合在线电影| 国产精品女人毛片| 精品国产亚洲在线| 91精品国产欧美一区二区18| 一本一道久久a久久精品 | 国产日本亚洲高清| 91精品久久久久久久99蜜桃| 97精品电影院| 国产成都精品91一区二区三| 久久精品久久精品| 午夜a成v人精品| 洋洋av久久久久久久一区| 中文字幕一区二区三区不卡在线 | 激情都市一区二区| 日韩激情一二三区| 亚洲大型综合色站| 一区二区三区欧美日| 国产精品国产a级| 国产午夜精品久久久久久免费视| 日韩一区二区精品在线观看| 欧美天天综合网| 91国偷自产一区二区开放时间| 国产不卡视频一区二区三区| 国产一区二区三区精品视频| 美女视频第一区二区三区免费观看网站| 亚洲综合av网| 亚洲一区二区五区| 亚洲自拍偷拍九九九| 一区二区三区高清在线| 亚洲精品欧美综合四区| 亚洲私人影院在线观看| 亚洲视频一区在线| 亚洲人妖av一区二区| 1区2区3区国产精品| 国产精品传媒在线| 中文天堂在线一区| 综合色天天鬼久久鬼色| 中文字幕亚洲综合久久菠萝蜜| 国产欧美一区视频| 国产精品二三区| 日韩美女精品在线| 亚洲精品伦理在线| 亚洲一区二区三区四区在线| 亚洲黄色免费电影| 亚洲国产成人av好男人在线观看| 亚洲国产日韩a在线播放性色| 依依成人精品视频| 一区二区三区自拍| 亚洲国产美女搞黄色| 亚洲第一会所有码转帖| 日韩二区三区四区| 久久精品999| 国产成人在线视频播放| eeuss鲁片一区二区三区|