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

📄 ajax.js

📁 php最好的论坛程序! php最好的论坛程序! php最好的论坛程序!
💻 JS
字号:
/******************************************************************************
  Crossday Discuz! Board - Ajax Modules for Discuz!
  Copyright 2001-2006 Comsenz Inc. (http://www.comsenz.com)
*******************************************************************************/

var request; 
var xmlHttpRequest;
var ajaxExcetpion;
var ajaxCompatible = isCompatible();

function isCompatible() {
	if(is_ie && !is_ie4) {
		return true;
	} else if(XMLHttpRequest) {
		try { return XMLHttpRequest.prototype.setRequestHeader ? true : false; }
		catch(e) {
			try { var tester = new XMLHttpRequest(); return tester.setRequestHeader ? true : false; }
			catch(e) { return false; }
		}
	} else {
		return false;
	}
}

function createRequestObject() {

	var xmlrequest = false;
	
	if(window.XMLHttpRequest) {
		xmlrequest = new XMLHttpRequest();
		if(xmlrequest.overrideMimeType){
			xmlrequest.overrideMimeType('text/xml');
		}	
	} else if(window.ActiveXObject) {
		if(xmlHttpRequest) {
			xmlrequest= new ActiveXObject(xmlHttpRequest);
		}else {
			var versions = ["MSXML.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.7.0", "Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP"];
			for(var i = 0; i < versions.length ; i++) {
				try {
					xmlrequest = new ActiveXObject(versions[i]);
					if(xmlrequest) {
						xmlHttpRequest = versions[i];
						ajaxExcetpion = null;
						break;
					}
				}
				catch (objException) {
					ajaxExcetpion = objException;
				} 
			}
		}
	}

	return xmlrequest;
}

function sendRequest(request, callInProcess, handleResponse) {

	return function () {
		if(request.readyState == 4) {
			if(request.status == 200) {
				handleResponse();
			} else {
				alert("HTTP error "+request.status+": "+request.statusText);
			}
		} else {
			callInProcess();
		}
	}
}

function ctrlAjax(status) {
	wysiwyg = parseInt($('posteditor_mode').value);
	bbcodemode = $('bbcodemode');
	wysiwygmode = $('wysiwygmode');
	preview = $('previewbutton');

	if(bbcodemode) {
		bbcodemode.disabled = status == 'disabled' || !allowswitcheditor || !wysiwyg ? true : false;
	}

	if(wysiwygmode) {
		wysiwygmode.disabled = status == 'disabled' || !allowswitcheditor || wysiwyg ? true : false;
	}

	preview.disabled = status == 'disabled' ? true : false;
}

function fetchCheckbox(cbn) {
	return $(cbn) && $(cbn).checked==true ? 1 : 0;
}

function previewpost(editorid){

	if(!validate(document.input, true)) {
		document.input.subject.focus();
		return;
	}

	var url="ajax.php?";
	var message = bbinsert ? PHP.urlencode(Editor[editorid].getEditorContents()) : document.input.message.value;

	var ajaxdata = 'action=previewpost&previewsubmit=yes'
		+ '&formhash=' + $("formhash").value
		+ '&wysiwyg='	+ $(editorid + '_mode').value
		+ '&fid=' + $("fid").value
		+ '&parseurloff=' + fetchCheckbox("parseurloff")
		+ '&smileyoff=' + fetchCheckbox("smileyoff")
		+ '&bbcodeoff=' + fetchCheckbox("bbcodeoff")
		+ '&htmlon=' + fetchCheckbox("htmlon")
		+ '&subject=' + $("subject").value
		+ '&message=' + message;

	var request = createRequestObject();

	request.onreadystatechange = sendRequest(request, function() {ctrlAjax('disabled');}, function() {
		$("previewmessage").innerHTML = request.responseText;
		$("previewtable").style.display = '';
		window.scroll(0, 0);
		ctrlAjax('enabled');
	});

	request.open("POST", url, true);
 	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 	request.send(ajaxdata);
}

window.onload = function() {
	if(!ajaxCompatible) {
		ctrlAjax('disabled');
	}
}

⌨️ 快捷键说明

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