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

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

?? shcore.js

?? Javascript SyntaxHighlighter_1[1].5.1.rar
?? JS
?? 第 1 頁 / 共 2 頁
字號:
		
		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');
	
	if(this.addControls == true)
		this.bar.appendChild(dp.sh.Toolbar.Create(this));

	// add columns ruler
	if(this.showColumns)
	{
		var div = this.CreateElement('div');
		var columns = this.CreateElement('div');
		var showEvery = 10;
		var i = 1;
		
		while(i <= 150)
		{
			if(i % showEvery == 0)
			{
				div.innerHTML += i;
				i += (i + '').length;
			}
			else
			{
				div.innerHTML += '&middot;';
				i++;
			}
		}
		
		columns.className = 'columns';
		columns.appendChild(div);
		this.bar.appendChild(columns);
	}

	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 = dp.sh.Utils.FixForBlogger(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);

		return lines.join('\n');
	}
	
	// This function returns a portions of the string from pos1 to pos2 inclusive
	function Copy(string, pos1, pos2)
	{
		return string.substr(pos1, pos2 - pos1);
	}

	var pos	= 0;
	
	if(code == null)
		code = '';
	
	this.originalCode = code;
	this.code = Chop(Unindent(code));
	this.div = this.CreateElement('DIV');
	this.bar = this.CreateElement('DIV');
	this.ol = this.CreateElement('OL');
	this.matches = new Array();

	this.div.className = 'dp-highlighter';
	this.div.highlighter = this;
	
	this.bar.className = 'bar';
	
	// set the first line
	this.ol.start = this.firstLine;

	if(this.CssClass != null)
		this.ol.className = this.CssClass;

	if(this.collapse)
		this.div.className += ' collapsed';
	
	if(this.noGutter)
		this.div.className += ' nogutter';

	// replace tabs with spaces
	if(this.tabsToSpaces == true)
		this.code = this.ProcessSmartTabs(this.code);

	this.ProcessRegexList();	

	// if no matches found, add entire code as plain text
	if(this.matches.length == 0)
	{
		this.AddBit(this.code, null);
		this.SwitchToList();
		this.div.appendChild(this.bar);
		this.div.appendChild(this.ol);
		return;
	}

	// sort the matches
	this.matches = this.matches.sort(dp.sh.Highlighter.SortCallback);

	// The following loop checks to see if any of the matches are inside
	// of other matches. This process would get rid of highligted strings
	// inside comments, keywords inside strings and so on.
	for(var i = 0; i < this.matches.length; i++)
		if(this.IsInside(this.matches[i]))
			this.matches[i] = null;

	// Finally, go through the final list of matches and pull the all
	// together adding everything in between that isn't a match.
	for(var i = 0; i < this.matches.length; i++)
	{
		var match = this.matches[i];

		if(match == null || match.length == 0)
			continue;

		this.AddBit(Copy(this.code, pos, match.index), null);
		this.AddBit(match.value, match.css);

		pos = match.index + match.length;
	}
	
	this.AddBit(this.code.substr(pos), null);

	this.SwitchToList();
	this.div.appendChild(this.bar);
	this.div.appendChild(this.ol);
}

dp.sh.Highlighter.prototype.GetKeywords = function(str) 
{
	return '\\b' + str.replace(/ /g, '\\b|\\b') + '\\b';
}

dp.sh.BloggerMode = function()
{
	dp.sh.isBloggerMode = true;
}

// highlightes all elements identified by name and gets source code from specified property
dp.sh.HighlightAll = function(name, showGutter /* optional */, showControls /* optional */, collapseAll /* optional */, firstLine /* optional */, showColumns /* optional */)
{
	function FindValue()
	{
		var a = arguments;
		
		for(var i = 0; i < a.length; i++)
		{
			if(a[i] == null)
				continue;
				
			if(typeof(a[i]) == 'string' && a[i] != '')
				return a[i] + '';
		
			if(typeof(a[i]) == 'object' && a[i].value != '')
				return a[i].value + '';
		}
		
		return null;
	}
	
	function IsOptionSet(value, list)
	{
		for(var i = 0; i < list.length; i++)
			if(list[i] == value)
				return true;
		
		return false;
	}
	
	function GetOptionValue(name, list, defaultValue)
	{
		var regex = new RegExp('^' + name + '\\[(\\w+)\\]$', 'gi');
		var matches = null;

		for(var i = 0; i < list.length; i++)
			if((matches = regex.exec(list[i])) != null)
				return matches[1];
		
		return defaultValue;
	}
	
	function FindTagsByName(list, name, tagName)
	{
		var tags = document.getElementsByTagName(tagName);

		for(var i = 0; i < tags.length; i++)
			if(tags[i].getAttribute('name') == name)
				list.push(tags[i]);
	}

	var elements = [];
	var highlighter = null;
	var registered = {};
	var propertyName = 'innerHTML';

	// for some reason IE doesn't find <pre/> by name, however it does see them just fine by tag name... 
	FindTagsByName(elements, name, 'pre');
	FindTagsByName(elements, name, 'textarea');

	if(elements.length == 0)
		return;

	// register all brushes
	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;
	}

	for(var i = 0; i < elements.length; i++)
	{
		var element = elements[i];
		var options = FindValue(
				element.attributes['class'], element.className, 
				element.attributes['language'], element.language
				);
		var language = '';
		
		if(options == null)
			continue;
		
		options = options.split(':');
		
		language = options[0].toLowerCase();

		if(registered[language] == null)
			continue;
		
		// instantiate a brush
		highlighter = new dp.sh.Brushes[registered[language]]();
		
		// hide the original element
		element.style.display = 'none';

		highlighter.noGutter = (showGutter == null) ? IsOptionSet('nogutter', options) : !showGutter;
		highlighter.addControls = (showControls == null) ? !IsOptionSet('nocontrols', options) : showControls;
		highlighter.collapse = (collapseAll == null) ? IsOptionSet('collapse', options) : collapseAll;
		highlighter.showColumns = (showColumns == null) ? IsOptionSet('showcolumns', options) : showColumns;

		// write out custom brush style
		var headNode = document.getElementsByTagName('head')[0];
		if(highlighter.Style && headNode)
		{
			var styleNode = document.createElement('style');
			styleNode.setAttribute('type', 'text/css');

			if(styleNode.styleSheet) // for IE
			{
				styleNode.styleSheet.cssText = highlighter.Style;
			}
			else // for everyone else
			{
				var textNode = document.createTextNode(highlighter.Style);
				styleNode.appendChild(textNode);
			}

			headNode.appendChild(styleNode);
		}
		
		// first line idea comes from Andrew Collington, thanks!
		highlighter.firstLine = (firstLine == null) ? parseInt(GetOptionValue('firstline', options, 1)) : firstLine;

		highlighter.Highlight(element[propertyName]);
		
		highlighter.source = element;

		element.parentNode.insertBefore(highlighter.div, element);
	}	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一二三四在线| 国产一区二区三区免费看| 中文字幕国产一区二区| 日韩欧美中文字幕一区| 精品成人a区在线观看| 精品国产成人在线影院| 久久精品在线免费观看| 久久久精品tv| 一区视频在线播放| 亚洲女人的天堂| 亚洲一区二区3| 日韩国产欧美在线播放| 久久av老司机精品网站导航| 国产在线精品免费| 成人av小说网| 91官网在线观看| 91精品国产综合久久久蜜臀图片 | 粉嫩av一区二区三区| 成人在线视频一区二区| 91免费看视频| 91精品综合久久久久久| 精品国产乱码久久| 亚洲免费观看在线视频| 日本vs亚洲vs韩国一区三区二区| 久久精品久久精品| 91社区在线播放| 日韩一区二区中文字幕| 国产精品麻豆久久久| 亚洲一区二三区| 久久97超碰色| 91福利国产精品| 精品88久久久久88久久久| 亚洲欧美综合网| 蜜臀久久99精品久久久久宅男| 国产一级精品在线| 欧美午夜宅男影院| 国产无人区一区二区三区| 一区二区三区在线观看视频| 免费久久99精品国产| 不卡av电影在线播放| 欧美一区二区三区在线| 国产精品国产三级国产aⅴ无密码| 亚洲综合久久久| 国产99一区视频免费| 91精品国模一区二区三区| 亚洲欧美偷拍卡通变态| 国产一区在线不卡| 欧美猛男男办公室激情| 国产精品久久久久久久裸模 | 欧美韩国日本综合| 日韩av一级电影| 91美女蜜桃在线| 国产精品私人自拍| 免费人成精品欧美精品| 在线免费观看成人短视频| 国产亚洲精品久| 美腿丝袜在线亚洲一区| 欧美日韩卡一卡二| 亚洲精品国产品国语在线app| 国产伦精品一区二区三区免费迷| 欧美日韩国产系列| 亚洲成人777| 在线精品视频免费观看| 亚洲情趣在线观看| caoporm超碰国产精品| 欧美韩国一区二区| 成人性视频网站| 国产精品国产三级国产a| 国产成人鲁色资源国产91色综| 欧美成人综合网站| 美女网站在线免费欧美精品| 日韩一卡二卡三卡| 另类小说视频一区二区| 日韩一区二区三区四区五区六区| 亚洲成人av福利| 欧美剧情片在线观看| 午夜精品一区在线观看| 欧美精品丝袜中出| 蜜臀国产一区二区三区在线播放| 91精品综合久久久久久| 裸体一区二区三区| 久久人人爽人人爽| 成人av电影免费观看| 亚洲免费av在线| 欧美色视频在线观看| 免费成人av在线| 国产亚洲人成网站| 色哟哟在线观看一区二区三区| 夜夜操天天操亚洲| 这里只有精品电影| 国内精品不卡在线| 亚洲美女视频在线| 在线不卡a资源高清| 国精产品一区一区三区mba桃花| 国产午夜三级一区二区三| av电影一区二区| 亚洲大片精品永久免费| 久久综合久色欧美综合狠狠| 不卡区在线中文字幕| 亚洲国产精品影院| 久久综合久久综合久久综合| 99精品视频中文字幕| 日韩和欧美一区二区| 久久久不卡网国产精品二区| 色综合色狠狠综合色| 久久av中文字幕片| 一级日本不卡的影视| 精品国内片67194| 91麻豆自制传媒国产之光| 石原莉奈在线亚洲三区| 亚洲国产精品二十页| 欧美一区二区女人| 99久久久久久| 狠狠色丁香久久婷婷综| 一区二区三区中文在线观看| 欧美成人性战久久| 在线观看欧美日本| 豆国产96在线|亚洲| 美女在线一区二区| 亚洲国产精品久久人人爱蜜臀| 国产网站一区二区| 欧美一区二区三区色| 一本久道中文字幕精品亚洲嫩| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲成人激情av| 亚洲欧美日韩在线播放| 国产午夜精品一区二区三区视频| 欧洲一区二区三区在线| 成人永久看片免费视频天堂| 久久综合综合久久综合| 日韩成人免费电影| 亚洲私人黄色宅男| 国产精品无码永久免费888| 欧美成人伊人久久综合网| 欧美区视频在线观看| 91成人网在线| 色综合一个色综合| aaa亚洲精品| 成人黄色在线视频| av一区二区三区在线| 成人手机电影网| 国产ts人妖一区二区| 国产一区 二区| 国产成人综合自拍| 国产精品亚洲一区二区三区在线| 久久国产尿小便嘘嘘尿| 日本女优在线视频一区二区| 午夜在线电影亚洲一区| 五月天婷婷综合| 天堂久久一区二区三区| 日韩av电影免费观看高清完整版| 亚洲成人av一区二区| 亚洲一级二级三级| 亚洲成人中文在线| 婷婷综合另类小说色区| 舔着乳尖日韩一区| 久久99蜜桃精品| 国产在线一区二区综合免费视频| 久久99精品久久久久婷婷| 国内外成人在线| 国产aⅴ综合色| 色天天综合久久久久综合片| 欧美在线视频你懂得| 欧美精品vⅰdeose4hd| 欧美成人乱码一区二区三区| 久久久久久亚洲综合| 国产精品国产三级国产普通话99| 国产精品对白交换视频| 一区二区三区视频在线看| 午夜电影网一区| 国产一区二区三区香蕉| 99久久99久久精品国产片果冻 | 久88久久88久久久| 久久国产生活片100| 成人成人成人在线视频| 在线精品视频一区二区| 日韩欧美在线观看一区二区三区| 久久久精品黄色| 亚洲二区在线视频| 国产主播一区二区三区| 色噜噜久久综合| 精品国产在天天线2019| 亚洲色图欧洲色图婷婷| 免费在线成人网| 色综合久久中文字幕综合网| 日韩午夜三级在线| 1024成人网色www| 久久av资源网| 色av综合在线| 精品国产一区二区国模嫣然| 亚洲特黄一级片| 紧缚奴在线一区二区三区| 色综合咪咪久久| 久久久精品中文字幕麻豆发布| 亚洲另类在线视频| 高清在线成人网| 日韩欧美一级二级三级久久久| 亚洲欧洲在线观看av| 精品无码三级在线观看视频| 在线免费亚洲电影|