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

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

?? fckplugin.js

?? 我們大家都需要的圖書信息管理系統的數據庫
?? JS
?? 第 1 頁 / 共 3 頁
字號:
?FCKCommands.RegisterCommand('InsertCode',new FCKDialogCommand( 'InsertCode', FCKLang["InsertCodeBtn"], FCKPlugins.Items['insertcode'].Path + 'fck_insertcode.html', 550, 390 ) ) ;
var oInsertCode=new FCKToolbarButton('InsertCode',null,FCKLang["InsertCodeBtn"],null,false,true,48);
FCKToolbarItems.RegisterItem('InsertCode',oInsertCode);

var FCKInsertCode = new Object() ;
FCKInsertCode.Add = function( lan,lantxt,txt )
{
	var coText = FCK.CreateElement('DIV');
	coText.className = 'codeText';
	var registered = new Object();
	for(var brush in dp.sh.Brushes)
	{
		var aliases = dp.sh.Brushes[brush].Aliases;
		if(aliases == null) continue;
		for(var i=0;i<aliases.length;i++) registered[aliases[i]] = brush;
	};
	var ht = new dp.sh.Brushes[registered[lan]]();
	ht.Highlight(txt);
	coText.innerHTML='<div class="codeHead">'+lantxt+'代碼</div>'+ht.div.innerHTML;
}

var dp = {
	sh :
	{
		Utils	: {},
		RegexLib: {},
		Brushes	: {}
	}
};

// make an alias
dp.SyntaxHighlighter = dp.sh;

// copies all <link rel="stylesheet" /> from 'target' window to 'dest'
dp.sh.Utils.CopyStyles = function(destDoc, sourceDoc)
{
	var links = sourceDoc.getElementsByTagName('link');

	for(var i = 0; i < links.length; i++)
		if(links[i].rel.toLowerCase() == 'stylesheet')
			destDoc.write('<link type="text/css" rel="stylesheet" href="' + links[i].href + '"></link>');
}

//
// Common reusable regular expressions
//
dp.sh.RegexLib = {
	MultiLineCComments : new RegExp('/\\*[\\s\\S]*?\\*/', 'gm'),
	SingleLineCComments : new RegExp('//.*$', 'gm'),
	SingleLinePerlComments : new RegExp('#.*$', 'gm'),
	DoubleQuotedString : new RegExp('"(?:\\.|(\\\\\\")|[^\\""])*"','g'),
	SingleQuotedString : new RegExp("'(?:\\.|(\\\\\\')|[^\\''])*'", 'g')
};

//
// Match object
//
dp.sh.Match = function(value, index, css)
{
	this.value = value;
	this.index = index;
	this.length = value.length;
	this.css = css;
}

//
// Highlighter object
//
dp.sh.Highlighter = function()
{
	this.tabsToSpaces = true;
	this.wrapColumn = 80;
	this.showColumns = true;
	this.firstLine = 1;
}

// static callback for the match sorting
dp.sh.Highlighter.SortCallback = function(m1, m2)
{
	// sort matches by index first
	if(m1.index < m2.index)
		return -1;
	else if(m1.index > m2.index)
		return 1;
	else
	{
		// if index is the same, sort by length
		if(m1.length < m2.length)
			return -1;
		else if(m1.length > m2.length)
			return 1;
	}
	return 0;
}

dp.sh.Highlighter.prototype.CreateElement = function(name)
{
	var result = document.createElement(name);
	result.highlighter = this;
	return result;
}

// gets a list of all matches for a given regular expression
dp.sh.Highlighter.prototype.GetMatches = function(regex, css)
{
	var index = 0;
	var match = null;

	while((match = regex.exec(this.code)) != null)
		this.matches[this.matches.length] = new dp.sh.Match(match[0], match.index, css);
}

dp.sh.Highlighter.prototype.AddBit = function(str, css)
{
	if(str == null || str.length == 0)
		return;

	var span = this.CreateElement('SPAN');
	str = str.replace(/ /g, '&nbsp;');
	str = str.replace(/</g, '&lt;');
	str = str.replace(/\n/gm, '&nbsp;<br>');

	// when adding a piece of code, check to see if it has line breaks in it 
	// and if it does, wrap individual line breaks with span tags
	if(css != null)
	{
		if((/br/gi).test(str))
		{
			var lines = str.split('&nbsp;<br>');
			
			for(var i = 0; i < lines.length; i++)
			{
				span = this.CreateElement('SPAN');
				span.className = css;
				span.innerHTML = lines[i];
				
				this.div.appendChild(span);
				
				// don't add a <BR> for the last line
				if(i + 1 < lines.length)
					this.div.appendChild(this.CreateElement('BR'));
			}
		}
		else
		{
			span.className = css;
			span.innerHTML = str;
			this.div.appendChild(span);
		}
	}
	else
	{
		span.innerHTML = str;
		this.div.appendChild(span);
	}
}

// checks if one match is inside any other match
dp.sh.Highlighter.prototype.IsInside = function(match)
{
	if(match == null || match.length == 0)
		return false;
	
	for(var i = 0; i < this.matches.length; i++)
	{
		var c = this.matches[i];
		
		if(c == null)
			continue;

		if((match.index > c.index) && (match.index < c.index + c.length))
			return true;
	}
	
	return false;
}

dp.sh.Highlighter.prototype.ProcessRegexList = function()
{
	for(var i = 0; i < this.regexList.length; i++)
		this.GetMatches(this.regexList[i].regex, this.regexList[i].css);
}

dp.sh.Highlighter.prototype.ProcessSmartTabs = function(code)
{
	var lines	= code.split('\n');
	var result	= '';
	var tabSize	= 4;
	var tab		= '\t';

	// This function inserts specified amount of spaces in the string
	// where a tab is while removing that given tab. 
	function InsertSpaces(line, pos, count)
	{
		var left	= line.substr(0, pos);
		var right	= line.substr(pos + 1, line.length);	// pos + 1 will get rid of the tab
		var spaces	= '';
		
		for(var i = 0; i < count; i++)
			spaces += ' ';
		
		return left + spaces + right;
	}

	// This function process one line for 'smart tabs'
	function ProcessLine(line, tabSize)
	{
		if(line.indexOf(tab) == -1)
			return line;

		var pos = 0;

		while((pos = line.indexOf(tab)) != -1)
		{
			// This is pretty much all there is to the 'smart tabs' logic.
			// Based on the position within the line and size of a tab, 
			// calculate the amount of spaces we need to insert.
			var spaces = tabSize - pos % tabSize;
			
			line = InsertSpaces(line, pos, spaces);
		}
		
		return line;
	}

	// Go through all the lines and do the 'smart tabs' magic.
	for(var i = 0; i < lines.length; i++)
		result += ProcessLine(lines[i], tabSize) + '\n';
	
	return result;
}

dp.sh.Highlighter.prototype.SwitchToList = function()
{
	// thanks to Lachlan Donald from SitePoint.com for this <br/> tag fix.
	var html = this.div.innerHTML.replace(/<(br)\/?>/gi, '\n');
	var lines = html.split('\n');

	for(var i = 0, lineIndex = this.firstLine; i < lines.length - 1; i++, lineIndex++)
	{
		var li = this.CreateElement('LI');
		var span = this.CreateElement('SPAN');
		
		// uses .line1 and .line2 css styles for alternating lines
		li.className = (i % 2 == 0) ? 'alt' : '';
		span.innerHTML = lines[i] + '&nbsp;';

		li.appendChild(span);
		this.ol.appendChild(li);
	}
	
	this.div.innerHTML	= '';
}

dp.sh.Highlighter.prototype.Highlight = function(code)
{
	function Trim(str)
	{
		return str.replace(/^\s*(.*?)[\s\n]*$/g, '$1');
	}
	
	function Chop(str)
	{
		return str.replace(/\n*$/, '').replace(/^\n*/, '');
	}

	function Unindent(str)
	{
		var lines = str.split('\n');
		var indents = new Array();
		var regex = new RegExp('^\\s*', 'g');
		var min = 1000;

		// go through every line and check for common number of indents
		for(var i = 0; i < lines.length && min > 0; i++)
		{
			if(Trim(lines[i]).length == 0)
				continue;
				
			var matches = regex.exec(lines[i]);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美专区日韩专区| 紧缚奴在线一区二区三区| 成人免费视频网站在线观看| 久久久亚洲欧洲日产国码αv| 国产福利不卡视频| 中文字幕一区二区三区蜜月| 91在线视频播放| 亚洲一区二区三区在线看| 欧美色爱综合网| 麻豆精品新av中文字幕| 国产亚洲精久久久久久| av资源网一区| 日韩不卡手机在线v区| 久久久久国产精品麻豆| 91美女视频网站| 男人的天堂亚洲一区| 国产清纯白嫩初高生在线观看91| 91色乱码一区二区三区| 调教+趴+乳夹+国产+精品| 久久久亚洲精品石原莉奈| 91女人视频在线观看| 免播放器亚洲一区| 国产精品欧美一区喷水| 欧美日本一道本在线视频| 狠狠色丁香婷婷综合| 国产精品的网站| 日韩午夜精品视频| 99vv1com这只有精品| 日韩av成人高清| 亚洲欧洲精品一区二区精品久久久| 欧美三级在线播放| 国产成人免费网站| 日韩av不卡在线观看| 国产精品久久99| 欧美tickling挠脚心丨vk| 91精彩视频在线| 国产成人亚洲综合色影视| 天天色天天操综合| 国产精品久久久久影视| 欧美一区二区三区白人| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 中文成人av在线| 欧美一区二区三区系列电影| 91在线观看视频| 国产麻豆成人传媒免费观看| 亚洲大片免费看| 亚洲视频免费看| 国产精品色呦呦| 26uuu成人网一区二区三区| 欧美高清dvd| 日本伦理一区二区| 99精品视频免费在线观看| 韩日欧美一区二区三区| 日韩国产成人精品| 五月天欧美精品| 亚洲国产日韩在线一区模特| 国产精品高潮呻吟| 国产欧美日韩另类一区| 精品盗摄一区二区三区| 91精品国产麻豆| 欧美肥大bbwbbw高潮| 欧美曰成人黄网| 在线欧美日韩精品| 色婷婷综合在线| 在线观看免费成人| 一本色道久久综合亚洲91| 成人av免费在线播放| 成人av资源站| 91性感美女视频| 91蜜桃在线观看| 色噜噜久久综合| 91美女精品福利| 日本黄色一区二区| 欧美综合在线视频| 欧美日韩成人一区| 欧美精品18+| 日韩欧美第一区| 亚洲精品一区二区在线观看| 精品少妇一区二区三区在线播放| 欧美一级视频精品观看| 日韩欧美国产综合| 久久婷婷国产综合国色天香| 欧美精品一区二区三区高清aⅴ | 国产成人免费视| 国产91丝袜在线播放0| 国产成人亚洲综合a∨婷婷| 成人黄页毛片网站| 色一情一乱一乱一91av| 欧美日韩国产高清一区二区三区 | 亚洲国产sm捆绑调教视频 | 欧美军同video69gay| 91精品国产一区二区人妖| 日韩三级精品电影久久久 | 亚洲福利国产精品| 日本在线不卡视频一二三区| 精品无人区卡一卡二卡三乱码免费卡| 精品一区二区三区免费播放| 高潮精品一区videoshd| 91在线观看视频| 91精品国产综合久久久久久漫画 | 欧美美女黄视频| 久久婷婷国产综合精品青草| 国产精品久久看| 偷拍日韩校园综合在线| 国产麻豆精品久久一二三| 色综合夜色一区| 日韩免费福利电影在线观看| 国产精品三级av| 天天爽夜夜爽夜夜爽精品视频| 国产乱色国产精品免费视频| 91传媒视频在线播放| 精品少妇一区二区三区视频免付费| 国产精品三级av| 日韩av电影免费观看高清完整版在线观看| 国产揄拍国内精品对白| 在线一区二区三区四区五区 | 99国产精品99久久久久久| 欧美日韩在线电影| 国产免费观看久久| 亚洲r级在线视频| 国产高清不卡二三区| 欧美日韩国产高清一区| 国产片一区二区| 日韩av不卡在线观看| 99热99精品| 精品福利av导航| 亚洲成av人影院| 91视频在线看| 欧美国产精品v| 麻豆精品视频在线观看| 91成人免费在线视频| 国产精品久久久久久久久快鸭 | 国产91精品一区二区麻豆网站| 欧美日韩一级黄| 国产精品成人午夜| 久久99精品久久久| 欧美另类一区二区三区| 亚洲欧美日韩国产综合| 国产成人在线看| 精品成人一区二区三区四区| 亚洲成av人片一区二区| 色婷婷激情综合| 国产精品传媒入口麻豆| 国产高清无密码一区二区三区| 欧美一区二区成人6969| 午夜私人影院久久久久| 91豆麻精品91久久久久久| 中文字幕一区二区视频| 国产91对白在线观看九色| 日韩精品一区在线| 日韩激情中文字幕| 欧美色综合网站| 亚洲综合男人的天堂| 日本精品视频一区二区| 亚洲欧美色一区| 91亚洲国产成人精品一区二区三 | 中文字幕亚洲综合久久菠萝蜜| 久99久精品视频免费观看| 日韩一区二区三区免费观看| 视频一区二区三区入口| 欧美美女直播网站| 午夜精品成人在线视频| 欧美日韩国产综合一区二区| 香蕉成人啪国产精品视频综合网| 色综合一个色综合| 亚洲一线二线三线久久久| 在线视频中文字幕一区二区| 亚洲精品少妇30p| 在线观看视频91| 亚洲国产精品一区二区久久| 欧美日韩国产天堂| 水野朝阳av一区二区三区| 欧美一区二区精品| 国产自产视频一区二区三区| 久久只精品国产| 丁香六月综合激情| 中文字幕一区不卡| 欧美亚洲综合一区| 日韩精品视频网| 久久日一线二线三线suv| 国产乱码精品一区二区三区av | 一区二区三区久久| 欧美疯狂性受xxxxx喷水图片| 蜜臀a∨国产成人精品| 久久久久久免费网| 91丨九色丨黑人外教| 香蕉av福利精品导航| 精品国产sm最大网站免费看| 成人高清免费在线播放| 一区二区三区在线免费观看| 欧美高清hd18日本| 国产ts人妖一区二区| 亚洲一区二区黄色| 精品毛片乱码1区2区3区| 成人国产精品免费| 午夜免费欧美电影| 久久久久88色偷偷免费| 欧美亚州韩日在线看免费版国语版| 五月激情六月综合| 欧美极品少妇xxxxⅹ高跟鞋|