📄 common.js
字号:
/******************************************************************************
Crossday Discuz! Board - Common Modules for Discuz!
Copyright 2001-2006 Comsenz Inc. (http://www.comsenz.com)
*******************************************************************************/
var sPop = null;
var postSubmited = false;
var userAgent = navigator.userAgent.toLowerCase();
var is_opera = (userAgent.indexOf('opera') != -1);
var is_saf = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == 'Apple Computer, Inc.'));
var is_webtv = (userAgent.indexOf('webtv') != -1);
var is_ie = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
var is_ie4 = ((is_ie) && (userAgent.indexOf('msie 4.') != -1));
var is_moz = ((navigator.product == 'Gecko') && (!is_saf));
var is_kon = (userAgent.indexOf('konqueror') != -1);
var is_ns = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf));
var is_ns4 = ((is_ns) && (parseInt(navigator.appVersion) == 4));
var is_mac = (userAgent.indexOf('mac') != -1);
document.write("<style type='text/css'id='defaultPopStyle'>");
document.write(".cPopText { font-family: Tahoma, Verdana; background-color: #FFFFCC; border: 1px #000000 solid; font-size: 12px; padding-right: 4px; padding-left: 4px; line-height: 18px; padding-top: 2px; padding-bottom: 2px; visibility: hidden; filter: Alpha(Opacity=80)}");
document.write("</style>");
document.write("<div id='popLayer' style='position:absolute;z-index:1000' class='cPopText'></div>");
function showPopupText(event) {
if(event.srcElement) o = event.srcElement; else o = event.target;
if (!o) return;
MouseX = event.clientX;
MouseY = event.clientY;
if(o.alt != null && o.alt!="") { o.pop = o.alt;o.alt = "" }
if(o.title != null && o.title != ""){ o.pop = o.title;o.title = "" }
if(o.pop != sPop) {
sPop = o.pop;
if(sPop == null || sPop == "") {
document.getElementById("popLayer").style.visibility = "hidden";
} else {
if(o.dyclass != null) popStyle = o.dyclass; else popStyle = "cPopText";
document.getElementById("popLayer").style.visibility = "visible";
showIt();
}
}
}
function showIt() {
document.getElementById("popLayer").className = popStyle;
document.getElementById("popLayer").innerHTML = sPop.replace(/<(.*)>/g,"<$1>").replace(/\n/g,"<br>");;
popWidth = document.getElementById("popLayer").clientWidth;
popHeight = document.getElementById("popLayer").clientHeight;
if(MouseX + 12 + popWidth > document.body.clientWidth) popLeftAdjust = -popWidth - 24; else popLeftAdjust = 0;
if(MouseY + 12 + popHeight > document.body.clientHeight) popTopAdjust = -popHeight - 24; else popTopAdjust = 0;
document.getElementById("popLayer").style.left = MouseX + 12 + document.body.scrollLeft + popLeftAdjust;
document.getElementById("popLayer").style.top = MouseY + 12 + document.body.scrollTop + popTopAdjust;
}
function ctlent(event) {
if(postSubmited == false && (event.ctrlKey && event.keyCode == 13) || (event.altKey && event.keyCode == 83)) {
if(this.document.input.pmsubmit) {
postSubmited = true;
this.document.input.pmsubmit.disabled = true;
this.document.input.submit();
} else if(validate(this.document.input)) {
postSubmited = true;
if(this.document.input.topicsubmit) this.document.input.topicsubmit.disabled = true;
if(this.document.input.replysubmit) this.document.input.replysubmit.disabled = true;
if(this.document.input.editsubmit) this.document.input.editsubmit.disabled = true;
this.document.input.submit();
}
}
}
function storeCaret(textEl){
if(textEl.createTextRange){
textEl.caretPos = document.selection.createRange().duplicate();
}
}
function checkall(form, prefix, checkall) {
var checkall = checkall ? checkall : 'chkall';
for(var i = 0; i < form.elements.length; i++) {
var e = form.elements[i];
if(e.name != checkall && (!prefix || (prefix && e.name.match(prefix)))) {
e.checked = form.elements[checkall].checked;
}
}
}
function findobj(n, d) {
var p, i, x;
if(!d) d = document;
if((p = n.indexOf("?"))>0 && parent.frames.length) {
d = parent.frames[n.substring(p + 1)].document;
n = n.substring(0, p);
}
if(x != d[n] && d.all) x = d.all[n];
for(i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
for(i = 0; !x && d.layers && i < d.layers.length; i++) x = findobj(n, d.layers[i].document);
if(!x && document.getElementById) x = document.getElementById(n);
return x;
}
function arraypop(a) {
if(typeof a != 'object' || !a.length) {return null;}
else {
var response = a[a.length - 1];
a.length--;
return response;
}
}
function arraypush(a, value)
{
a[a.length] = value;
return a.length;
}
function findtags(parentobj, tag) {
if(typeof parentobj.getElementsByTagName != 'undefined') {return parentobj.getElementsByTagName(tag);}
else if(parentobj.all && parentobj.all.tags) {return parentobj.all.tags(tag);}
else {return null;}
}
function copycode(obj) {
var rng = document.body.createTextRange();
rng.moveToElementText(obj);
rng.scrollIntoView();
rng.select();
rng.execCommand("Copy");
rng.collapse(false);
}
function toggle_collapse(objname) {
obj = findobj(objname);
img = findobj(objname+"_img");
collapsed = getcookie("discuz_collapse");
cookie_start = collapsed ? collapsed.indexOf(objname) : -1;
cookie_end = cookie_start + objname.length + 1;
if(obj.style.display == "none") {
obj.style.display = "";
img_re = new RegExp("_yes\\.gif$");
img.src = img.src.replace(img_re, '_no.gif');
if(cookie_start != -1) collapsed = collapsed.substring(0, cookie_start) + collapsed.substring(cookie_end, collapsed.length);
} else {
obj.style.display = "none";
img_re = new RegExp("_no\\.gif$");
img.src = img.src.replace(img_re, '_yes.gif');
if(cookie_start == -1) collapsed = collapsed + objname + " ";
}
expires = new Date();
expires.setTime(expires.getTime() + (collapsed ? 86400 * 30 : -(86400 * 30 * 1000)));
document.cookie = "discuz_collapse=" + escape(collapsed) + "; expires=" + expires.toGMTString() + "; path=/";
}
function imgzoom(o) {
if(event.ctrlKey) {
var zoom = parseInt(o.style.zoom, 10) || 100;
zoom -= event.wheelDelta / 12;
if(zoom > 0) {
o.style.zoom = zoom + '%';
}
return false;
} else {
return true;
}
}
function setcopy(text, alertmsg){
if(is_ie) {
clipboardData.setData('Text', text);
alert(alertmsg);
} else if(prompt('Press Ctrl+C Copy to Clipboard', text)) {
alert(alertmsg);
}
}
function getcookie(name) {
var cookie_start = document.cookie.indexOf(name);
var cookie_end = document.cookie.indexOf(";", cookie_start);
return cookie_start == -1 ? '' : unescape(document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length)));
}
if(!document.onmouseover) {
document.onmouseover = function(e) {
if(!e) showPopupText(window.event); else showPopupText(e);
};
}
function AddText(NewCode) {
document.all ? insertAtCaret(document.input.message, NewCode) : document.input.message.value += NewCode;
setfocus();
}
function insertAtCaret (textEl, text){
if(textEl.createTextRange && textEl.caretPos){
var caretPos = textEl.caretPos;
caretPos.text += caretPos.text.charAt(caretPos.text.length - 2) == ' ' ? text + ' ' : text;
} else if(textEl) {
textEl.value += text;
} else {
textEl.value = text;
}
}
function setfocus() {
document.input.message.focus();
}
function closesmiliewindow(e) {
if(typeof smiliewindow != 'undefined' && !smiliewindow.closed) {
smiliewindow.close();
}
}
function opensmiliewindow(width, height, editorid) {
smiliewindow = window.open('post_baisi.php?action=smilies' + (editorid ? '&editorid=' + editorid : ''), 'Popup', 'width=' + width + ',height=' + height + ',resizable=yes,scrollbars=yes');
window.onunload = closesmiliewindow;
}
function mb_strlen(str) {
return (is_ie && str.indexOf('\n') != -1) ? str.replace(/\r?\n/g, '_').length : str.length;
}
function initSmilies(container, more) {
var smilie_container = findobj(container);
if(smilie_container != null) {
var smilies = findtags(smilie_container, 'img');
smilieslength = smilies.length;
for(var i = 0; i < smilieslength; i++) {
if(smilies[i].id && smilies[i].id.indexOf('_smilie_') != false) {
smilies[i].style.cursor = is_ie ? 'hand' : 'pointer';
smilies[i].onclick = function() {insertSmiley(this.pop ? this.pop : this.alt, more);}
}
}
}
}
function insertSmiley(txt, more) {
obj = more ? opener.document.input.message : document.input.message;
obj.focus();
selection = more ? opener.document.selection : document.selection;
if(typeof(obj.selectionStart) != 'undefined') {
var opn = obj.selectionStart + 0;
obj.value = obj.value.substr(0, obj.selectionStart) + txt + obj.value.substr(obj.selectionEnd);
} else if(selection && selection.createRange) {
var sel = selection.createRange();
sel.text = txt;
sel.moveStart('character', -mb_strlen(txt));
} else {
obj.value += txt;
}
}
function announcement() {
findobj('announcement').innerHTML = '' +
findobj('announcement').innerHTML + '';
findobj('announcement').style.display = 'block';
}
function $(id) {
return document.getElementById(id);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -