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

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

?? fckplugin.js

?? java books to study hard and teaching
?? JS
?? 第 1 頁 / 共 3 頁
字號:
?FCKCommands.RegisterCommand('InsertCode',new FCKDialogCommand( 'InsertCode', FCKLang["InsertCodeBtn"], FCKPlugins.Items['insertcode'].Path + 'fck_insertcode.html', 550, 420 ) ) ;
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;

//
// 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]);

			if(matches != null && matches.length > 0)
				min = Math.min(matches[0].length, min);
		}

		// trim minimum common number of white space from the begining of every line
		if(min > 0)
			for(var i = 0; i < lines.length; i++)
				lines[i] = lines[i].substr(min);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级理论片| 欧美mv和日韩mv国产网站| 欧美精品三级在线观看| 国产视频一区在线播放| 天堂一区二区在线| 成人a免费在线看| 欧美高清视频在线高清观看mv色露露十八| 欧美一二三区在线| 亚洲国产日韩a在线播放| 国产激情91久久精品导航 | 首页综合国产亚洲丝袜| 成人久久久精品乱码一区二区三区| 在线精品视频一区二区三四| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 午夜不卡av免费| 99re亚洲国产精品| 欧美国产日产图区| 精品乱人伦小说| 亚洲高清中文字幕| av在线不卡电影| 国产午夜亚洲精品理论片色戒 | 99国产精品99久久久久久| 精品国产乱子伦一区| 视频在线在亚洲| 欧美日韩国产不卡| 亚洲电影中文字幕在线观看| 色综合久久中文字幕| 成人免费在线播放视频| 成人动漫一区二区在线| 欧美国产成人精品| 国产酒店精品激情| 2020国产精品| 国产在线国偷精品免费看| 欧美一区二区三区的| 亚洲国产精品久久人人爱| 在线免费一区三区| 亚洲欧美一区二区三区国产精品| 激情综合色综合久久综合| 日韩久久免费av| 国产美女娇喘av呻吟久久 | 欧美午夜精品电影| 亚洲国产精品久久不卡毛片 | 99久久国产综合精品女不卡 | 中文字幕欧美日韩一区| 福利一区在线观看| 亚洲精品综合在线| 欧美日韩一区视频| 精品中文字幕一区二区小辣椒| 日韩精品一区二区在线| 国产高清久久久| 日韩美女啊v在线免费观看| 色成人在线视频| 亚洲福利国产精品| 精品国产一区二区三区av性色| 国产一区二区三区在线观看免费 | 一区视频在线播放| 在线观看免费视频综合| 午夜电影一区二区| 久久一夜天堂av一区二区三区| 成人一二三区视频| 亚洲韩国精品一区| 久久久99久久| 91极品视觉盛宴| 美女视频一区在线观看| 国产亚洲精品7777| 欧美三级日本三级少妇99| 免费三级欧美电影| 国产精品第13页| 日韩一区二区在线观看| 北岛玲一区二区三区四区| 亚洲6080在线| 中文字幕精品—区二区四季| 在线观看成人免费视频| 国产真实乱偷精品视频免| 亚洲男人的天堂网| 久久久久免费观看| 欧美伊人精品成人久久综合97 | 色综合久久综合| 极品美女销魂一区二区三区| 亚洲日本青草视频在线怡红院| 91精品国产丝袜白色高跟鞋| 国产一区二区三区四区五区美女 | 亚洲va欧美va人人爽| 国产偷国产偷亚洲高清人白洁 | 欧美国产日产图区| 日韩一区二区三区免费看 | 久久国产精品72免费观看| 亚洲欧美日韩久久精品| 精品福利av导航| 欧美精选在线播放| 日本二三区不卡| 成人午夜又粗又硬又大| 精品无人码麻豆乱码1区2区 | 久久蜜桃av一区精品变态类天堂| 在线观看视频一区二区| 成人性视频网站| 热久久国产精品| 亚洲国产精品视频| 亚洲女爱视频在线| 国产精品不卡在线| 国产欧美精品一区二区色综合| 欧美色爱综合网| 91国内精品野花午夜精品| 白白色 亚洲乱淫| 国产成人在线观看| 国产精品18久久久久久vr| 免费精品99久久国产综合精品| 亚洲午夜电影网| 亚洲在线视频免费观看| 亚洲女与黑人做爰| 亚洲精品视频自拍| 综合色天天鬼久久鬼色| 亚洲欧洲国产专区| 中文字幕日本不卡| 一区二区三区欧美视频| 一区二区三区中文字幕电影| ㊣最新国产の精品bt伙计久久| 国产精品理论片在线观看| 中文字幕国产一区| 亚洲欧美成aⅴ人在线观看| 亚洲精品自拍动漫在线| 午夜激情久久久| 日本特黄久久久高潮| 免费高清在线视频一区·| 久色婷婷小香蕉久久| 激情综合网最新| 成人美女在线视频| 欧美性猛交xxxx乱大交退制版| 欧美日韩一区三区| 日韩欧美国产一区在线观看| 欧美大白屁股肥臀xxxxxx| 精品国精品自拍自在线| 国产欧美一区二区三区网站| 中文字幕中文字幕一区| 亚洲福利电影网| 看电视剧不卡顿的网站| 成人福利电影精品一区二区在线观看| 91一区二区在线| 在线综合亚洲欧美在线视频| 精品国产亚洲一区二区三区在线观看| 久久久www成人免费无遮挡大片| 中国av一区二区三区| 伊人婷婷欧美激情| 麻豆极品一区二区三区| 高清成人在线观看| 在线观看日韩精品| 久久综合成人精品亚洲另类欧美 | 日本美女一区二区| 国产一区二区在线观看视频| 色综合网站在线| 欧美va亚洲va| 亚洲乱码国产乱码精品精98午夜| 日日摸夜夜添夜夜添亚洲女人| 国产精品一区二区三区网站| 在线免费观看成人短视频| 精品电影一区二区| 亚洲主播在线播放| 精品一区二区综合| 欧美亚洲高清一区| 国产婷婷精品av在线| 五月天一区二区三区| 成人丝袜高跟foot| 欧美一级欧美三级| 亚洲激情av在线| 国产成人一级电影| 日韩欧美国产午夜精品| 一区二区三区四区中文字幕| 国产真实精品久久二三区| 在线不卡一区二区| 亚洲美女在线一区| 高清日韩电视剧大全免费| 精品少妇一区二区三区视频免付费 | 福利一区二区在线| 欧美一区二区视频在线观看2022| 国产精品伦理一区二区| 激情综合色综合久久综合| 欧美精品精品一区| 亚洲精品ww久久久久久p站| 岛国精品在线播放| 欧美精品丝袜中出| 一区二区三区毛片| 一本久久精品一区二区 | 欧美在线三级电影| 欧美精品一区男女天堂| 日韩国产精品久久久| 色一情一伦一子一伦一区| 国产日韩成人精品| 久久99久久99| 欧美变态tickling挠脚心| 亚洲女同ⅹxx女同tv| 91麻豆免费观看| 中文字幕精品一区| 粗大黑人巨茎大战欧美成人| 精品国内片67194| 久久69国产一区二区蜜臀| 日韩欧美一二三四区| 日韩成人午夜精品| 91精品午夜视频| 麻豆一区二区三区| 69久久99精品久久久久婷婷|