⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editor.js

📁 论坛建站的源代码
💻 JS
📖 第 1 页 / 共 5 页
字号:
			'<tr>' +
			'<td colspan="2" style="margin:5px;padding-bottom:5px;padding-left:5px">'+YuZi_LANG['WIDTH']+':<input type=text id="MediaWidth" value=300 size=4 style="border:1px solid #555555;">  '+YuZi_LANG['HEIGHT']+':<input type=text id=MediaHeigth value=250 size=4 style="border:1px solid #555555;"></td>' +
			'</tr>' +
			
			'<tr><td colspan="2" style="padding-bottom:5px;padding-left:5px">'+YuZi_LANG['AutoStart']+':<input type="checkbox" id="AutoStart" value="1" checked />   '+YuZi_LANG['StatusBar']+':<input type="checkbox" value="1" id=ShowStatusBar checked></td></tr>' +
			
			
			'<tr><td colspan="2" style="margin:5px;padding-bottom:5px;" align="center">' +
			'<input type="button" name="button" value="'+YuZi_LANG['PREVIEW']+'" onclick="parent.BBSXPMediaPreview();" /> ' +
			'<input type="submit" name="button" id="'+cmd+'submitButton" value="'+YuZi_LANG['CONFIRM']+'" onclick="parent.BBSXPDrawMediaEnd();" /> ' +
			'<input type="button" name="button" value="'+YuZi_LANG['CANCEL']+'" onclick="parent.BBSXPDisableMenu();" /></td></tr>' + 
			'</table>';
			BBSXPDrawMenuIframe(YuZi_Media_DOCUMENT, str);
			break;
		case 'YuZi_LINK':
			YuZi_LINK_DOCUMENT = YuZi_BROWSER == 'IE' ? document.frames('BBSXP'+cmd+'Iframe').document : $('BBSXP'+cmd+'Iframe').contentDocument;
			var str = '';
			str += '<table cellpadding="0" cellspacing="0" style="width:100%;font-size:12px;">' + 
				'<tr><td style="width:50px;padding:5px;">URL</td>' +
				'<td style="width:200px;padding-top:5px;padding-bottom:5px;"><input type="text" id="hyperLink" value="http://" style="width:190px;border:1px solid #555555;background-color:#FFFFFF;"></td>' +
				'<tr><td style="padding:5px;">'+YuZi_LANG['TARGET']+'</td>' +
				'<td style="padding-bottom:5px;"><select id="hyperLinkTarget"><option value="_blank" selected="selected">'+YuZi_LANG['NEW_WINDOW']+'</option><option value="">'+YuZi_LANG['CURRENT_WINDOW']+'</option></select></td></tr>' + 
				'<tr><td colspan="2" style="padding-bottom:5px;" align="center">' +
				'<input type="submit" name="button" id="'+cmd+'submitButton" value="'+YuZi_LANG['CONFIRM']+'" onclick="parent.BBSXPDrawLinkEnd();" /> ' +
				'<input type="button" name="button" value="'+YuZi_LANG['CANCEL']+'" onclick="parent.BBSXPDisableMenu();" /></td></tr>';
			str += '</table>';
			BBSXPDrawMenuIframe(YuZi_LINK_DOCUMENT, str);
			break;
		default:
			break;
	}
}
function BBSXPDrawMenuIframe(obj, str)
{
	obj.open();
	obj.write(str);
	obj.close();
	obj.body.style.color = YuZi_MENU_TEXT_COLOR;
	obj.body.style.backgroundColor = YuZi_MENU_BG_COLOR;
	obj.body.style.margin = 0;
	obj.body.scroll = 'no';
}
function BBSXPDrawTableSelected(i, j)
{
	var text = i.toString(10) + ' 乘 ' + j.toString(10) + ' 表格';
	$('tableLocation').innerHTML = text;
	var num = 10;
	for (m = 1; m <= num; m++) {
		for (n = 1; n <= num; n++) {
			var obj = $('BBSXPTableTd' + m.toString(10) + '_' + n.toString(10) + '');
			if (m <= i && n <= j) {
				obj.style.backgroundColor = YuZi_MENU_SELECTED_COLOR;
			} else {
				obj.style.backgroundColor = '#FFFFFF';
			}
		}
	}
}
//ED2K_开始
function BBSXPInsertED2K()
{
	var Ed2kUrl = YuZi_ED2K_DOCUMENT.ED2K.elements['ED2KURL'].value;
	var re = /^ed2k:\/\/\|file\|[^\\\/:*?<>""|]+[\.]?[^\\\/:*?<>""|]+\|\d+\|[0-9a-zA-Z]{32}\|/;
	if (Ed2kUrl != null){
		var Ed2kUrlArray = new Array();
		Ed2kUrlArray=Ed2kUrl.split('\n');
		Ed2kUrl = '';
		for(var i=0;i<Ed2kUrlArray.length;i++){
			if (Ed2kUrlArray[i]!='' && re.test(Ed2kUrlArray[i]))Ed2kUrl += '[ed2k]'+Ed2kUrlArray[i].replace(/(^\s*)|(\s*$)/g,"")+'[/ed2k]';
		}
	
		var element = document.createElement("span");
		element.appendChild(document.createTextNode(Ed2kUrl));
		BBSXPInsertItem(element);
	}
	else {
		BBSXPEditorForm.focus();
	}
	BBSXPDisableMenu();
}

//替换内容_开始
function BBSXPReplace()
{
	var TextOne = YuZi_Replace_DOCUMENT.Replace.elements['TextOne'].value
	var TextTwo = YuZi_Replace_DOCUMENT.Replace.elements['TextTwo'].value
	var IgnoreCase = YuZi_Replace_DOCUMENT.Replace.elements['Case'].value
	if (TextOne != null && TextTwo != null){
		con = YuZi_EDITFORM_DOCUMENT.body.innerHTML;
		if (IgnoreCase.toLowerCase() == "on"){
			con = BBSXPRegEx(con,TextOne,TextTwo,true);
		}
		else{
			con = BBSXPRegEx(con,a,b);
		}
		YuZi_EDITFORM_DOCUMENT.body.innerHTML = con;
	}
	else
		BBSXPEditorForm.focus();
	
	BBSXPDisableMenu();
}
function BBSXPRegEx(s,a,b,i){
	a = a.replace("?","\\?");
	if (i==null){
		var r = new RegExp(a,"gi");
	}
	else if (i) {
		var r = new RegExp(a,"g");
	}
	else{
		var r = new RegExp(a,"gi");
	}
	return s.replace(r,b); 
}
//替换内容_结束

//插入图片 预览
function BBSXPImagePreview()
{
	var url = YuZi_IMAGE_DOCUMENT.getElementById('imgLink').value;
	if (url=="http://" || !url || url.length<10) {
		alert(YuZi_LANG['INPUT_URL']);
		return false;
	}
	var imgObj = YuZi_IMAGE_DOCUMENT.createElement("IMG");
	imgObj.src = url;
	var width = parseInt(imgObj.width);
	var height = parseInt(imgObj.height);
	var rate = parseInt(width/height);
	if (width >240 && height <= 180) {
		width = 240;
		height = parseInt(width/rate);
	} else if (width <=240 && height > 180) {
		height = 180;
		width = parseInt(height*rate);
	} else if (width >240 && height > 180) {
		height = 180;
		width = parseInt(height*rate);
		if (width >240) width = 240;
	}
	imgObj.style.width = width;
	imgObj.style.height = height;
	var el = YuZi_IMAGE_DOCUMENT.getElementById('imgPreview');
	if (el.hasChildNodes()) {
		el.removeChild(el.childNodes[0]);
	}
	el.appendChild(imgObj);
	return imgObj;
}
//插入图片
function BBSXPDrawImageEnd()
{
	var url = YuZi_IMAGE_DOCUMENT.getElementById('imgLink').value;
	if (url=="http://" || !url || url.length<10) {
		alert(YuZi_LANG['INPUT_URL']);
		return false;
	}
		
	BBSXPEditorForm.focus();
	var element = document.createElement("img");
	element.src = url;
	element.border = 0;
	BBSXPSelect();
	BBSXPInsertItem(element);
	BBSXPDisableMenu();
}
function BBSXPGetMediaHtmlTag(url)
{
	var str = '<embed src="'+url+'" quality="high" AutoStart="true"></embed>';
	return str;
}
//插入Media 预览
function BBSXPMediaPreview()
{
	var url = YuZi_Media_DOCUMENT.getElementById('MediaLink').value;
	if (url=="http://" || !url || url.length<10) {
		alert(YuZi_LANG['INPUT_URL']);
		return false;
	}
	var el = YuZi_Media_DOCUMENT.getElementById('MediaPreview');
	el.innerHTML = BBSXPGetMediaHtmlTag(url);
}
//插入Media
function BBSXPDrawMediaEnd()
{
	var url = YuZi_Media_DOCUMENT.getElementById('MediaLink').value;
	var Width = YuZi_Media_DOCUMENT.getElementById('MediaWidth').value;
	var Height = YuZi_Media_DOCUMENT.getElementById('MediaHeigth').value;
	if (url=="http://" || !url || url.length<10) {
		alert(YuZi_LANG['INPUT_URL']);
		return false;
	}
	BBSXPEditorForm.focus();
	BBSXPSelect();
	var obj = document.createElement("EMBED");
	obj.src = url;
	obj.style.width = Width;
	obj.style.height = Height;
	obj.quality = "high";
	obj.autostart = YuZi_Media_DOCUMENT.getElementById('AutoStart').checked;
	obj.ShowStatusBar = YuZi_Media_DOCUMENT.getElementById('ShowStatusBar').checked;
	BBSXPInsertItem(obj);
	BBSXPDisableMenu();
}

//插入链接
function BBSXPDrawLinkEnd()
{
	var range;
	var url = YuZi_LINK_DOCUMENT.getElementById('hyperLink').value;
	var target = YuZi_LINK_DOCUMENT.getElementById('hyperLinkTarget').value;
	if (url.match(/http|ftp|https|mailto|wais|telnet|news|gopher|mms:\/\/.{3,}/) == null) {
		alert(YuZi_LANG['INPUT_URL']);
		return false;
	}
	BBSXPEditorForm.focus();
	BBSXPSelect();
	var element;
    if (YuZi_BROWSER != 'IE') {
		BBSXPExecuteValue('CreateLink', url);
		element = YuZi_RANGE.startContainer.previousSibling;
		element.target = target;
		if (target) {
			element.target = target;
		}
    }
	BBSXPDisableMenu();
}

function BBSXPSelection()
{
	if (YuZi_BROWSER == 'IE') {
		YuZi_SELECTION = YuZi_EDITFORM_DOCUMENT.selection;
		YuZi_RANGE = YuZi_SELECTION.createRange();
		YuZi_RANGE_TEXT = YuZi_RANGE.text;
	}
	else {
		YuZi_SELECTION = $("BBSXPEditorForm").contentWindow.getSelection();
        YuZi_RANGE = YuZi_SELECTION.getRangeAt(0);
		YuZi_RANGE_TEXT = YuZi_RANGE.toString();
	}
}
function BBSXPSelect()
{
	if (YuZi_BROWSER == 'IE') {
		YuZi_RANGE.select();
	}
}

function BBSXPInsertItem(insertNode)
{
	if (YuZi_BROWSER == 'IE') {
		if (YuZi_SELECTION.type.toLowerCase() == 'control') {
			YuZi_RANGE.item(0).outerHTML = insertNode.outerHTML;
		}
		else {
			YuZi_RANGE.pasteHTML(insertNode.outerHTML);
		}
	}
	else {
        YuZi_SELECTION.removeAllRanges();
		YuZi_RANGE.deleteContents();
        var startRangeNode = YuZi_RANGE.startContainer;
        var startRangeOffset = YuZi_RANGE.startOffset;
        var newRange = document.createRange();
		if (startRangeNode.nodeType == 3 && insertNode.nodeType == 3) {
            startRangeNode.insertData(startRangeOffset, insertNode.nodeValue);
            newRange.setEnd(startRangeNode, startRangeOffset + insertNode.length);
            newRange.setStart(startRangeNode, startRangeOffset + insertNode.length);
        }
		else {
            var afterNode;
            if (startRangeNode.nodeType == 3) {
                var textNode = startRangeNode;
                startRangeNode = textNode.parentNode;
                var text = textNode.nodeValue;
                var textBefore = text.substr(0, startRangeOffset);
                var textAfter = text.substr(startRangeOffset);
                var beforeNode = document.createTextNode(textBefore);
                var afterNode = document.createTextNode(textAfter);
                startRangeNode.insertBefore(afterNode, textNode);
                startRangeNode.insertBefore(insertNode, afterNode);
                startRangeNode.insertBefore(beforeNode, insertNode);
                startRangeNode.removeChild(textNode);
            }
			else {
				if (startRangeNode.tagName.toLowerCase() == 'html') {
					startRangeNode = startRangeNode.childNodes[0].nextSibling;
					afterNode = startRangeNode.childNodes[0];
				}
				else {
					afterNode = startRangeNode.childNodes[startRangeOffset];
				}
				startRangeNode.insertBefore(insertNode, afterNode);
            }
            newRange.setEnd(afterNode, 0);
            newRange.setStart(afterNode, 0);
        }
        YuZi_SELECTION.addRange(newRange);
	}
}

//清洁代码
function ClearCode(htmlStr,Type){
	htmlStr = htmlStr.replace(/\<p>/gi,"[$p]");
	htmlStr = htmlStr.replace(/\<\/p>/gi,"[$\/p]");
	htmlStr = htmlStr.replace(/\<br>/gi,"[$br]");
	htmlStr = htmlStr.replace(/\<[^>]*>/g,"");
	if (Type == 1){
		htmlStr = htmlStr.replace(/\[\$p\]/gi,"<p>");
		htmlStr = htmlStr.replace(/\[\$\/p\]/gi,"<\/p>");
		htmlStr = htmlStr.replace(/\[\$br\]/gi,"<br>");
	}
	else {
		htmlStr = htmlStr.replace(/\[\$p\]/gi,"");
		htmlStr = htmlStr.replace(/\[\$\/p\]/gi,",");
		htmlStr = htmlStr.replace(/\[\$br\]/gi,",");
	}
	return htmlStr;
}

//非IE浏览器文字背景颜色
function BBSXPExecuteBackColor(value) {
	var startRangeNode = YuZi_RANGE.startContainer;
	if (startRangeNode.nodeType == 3) {
		var parent = startRangeNode.parentNode;
		var element = document.createElement("font");
		element.style.backgroundColor = value;
		element.appendChild(YuZi_RANGE.extractContents());
		var startRangeOffset = YuZi_RANGE.startOffset;
		var newRange = document.createRange();
		var afterNode;
		var textNode = startRangeNode;
		startRangeNode = textNode.parentNode;
		var text = textNode.nodeValue;
		var textBefore = text.substr(0, startRangeOffset);
		var textAfter = text.substr(startRangeOffset);
		var beforeNode = document.createTextNode(textBefore);
		var afterNode = document.createTextNode(textAfter);
		startRangeNode.insertBefore(afterNode, textNode);
		startRangeNode.insertBefore(element, afterNode);
		startRangeNode.insertBefore(beforeNode, element);
		startRangeNode.removeChild(textNode);
		newRange.setEnd(afterNode, 0);
		newRange.setStart(afterNode, 0);
		YuZi_SELECTION.addRange(newRange);
	}
}

function BBSXPExecuteValue(cmd, value)
{
	if (value == 'YuZi_BackColor') {
		value = YuZi_BackColor;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -