“MediaWiki:Common.js”的版本间的差异
来自百问网嵌入式Linux wiki
| 第1行: | 第1行: | ||
| + | var usesClass = (function() { | ||
| + | var reCache = {}; | ||
| + | return function(element, className) { | ||
| + | return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className); | ||
| + | }; | ||
| + | })(); | ||
| + | |||
| + | /* JavaScript for rounding borders | ||
| + | Source: http://webdesign.html.it/articoli/leggi/528/more-nifty-corners */ | ||
| + | |||
| + | function NiftyCheck() { | ||
| + | if (!document.getElementById || !document.createElement) | ||
| + | return (false); | ||
| + | isXHTML = /html\:/.test(document.getElementsByTagName('body')[0].nodeName); | ||
| + | if (Array.prototype.push == null) { | ||
| + | Array.prototype.push = function() { | ||
| + | this[this.length] = arguments[0]; | ||
| + | return (this.length); | ||
| + | } | ||
| + | } | ||
| + | return (true); | ||
| + | } | ||
| + | |||
| + | function Rounded(selector, wich, bk, color, opt) { | ||
| + | var i, prefixt, prefixb, cn = "r", | ||
| + | ecolor = "", | ||
| + | edges = false, | ||
| + | eclass = "", | ||
| + | b = false, | ||
| + | t = false; | ||
| + | |||
| + | if (color == "transparent") { | ||
| + | cn = cn + "x"; | ||
| + | ecolor = bk; | ||
| + | bk = "transparent"; | ||
| + | } else if (opt && opt.indexOf("border") >= 0) { | ||
| + | var optar = opt.split(" "); | ||
| + | for (i = 0; i < optar.length; i++) | ||
| + | if (optar[i].indexOf("#") >= 0) ecolor = optar[i]; | ||
| + | if (ecolor == "") ecolor = "#666"; | ||
| + | cn += "e"; | ||
| + | edges = true; | ||
| + | } else if (opt && opt.indexOf("smooth") >= 0) { | ||
| + | cn += "a"; | ||
| + | ecolor = Mix(bk, color); | ||
| + | } | ||
| + | if (opt && opt.indexOf("small") >= 0) cn += "s"; | ||
| + | prefixt = cn; | ||
| + | prefixb = cn; | ||
| + | if (wich.indexOf("all") >= 0) { | ||
| + | t = true; | ||
| + | b = true | ||
| + | } else if (wich.indexOf("top") >= 0) t = "true"; | ||
| + | else if (wich.indexOf("tl") >= 0) { | ||
| + | t = "true"; | ||
| + | if (wich.indexOf("tr") < 0) prefixt += "l"; | ||
| + | } else if (wich.indexOf("tr") >= 0) { | ||
| + | t = "true"; | ||
| + | prefixt += "r"; | ||
| + | } | ||
| + | if (wich.indexOf("bottom") >= 0) b = true; | ||
| + | else if (wich.indexOf("bl") >= 0) { | ||
| + | b = "true"; | ||
| + | if (wich.indexOf("br") < 0) prefixb += "l"; | ||
| + | } else if (wich.indexOf("br") >= 0) { | ||
| + | b = "true"; | ||
| + | prefixb += "r"; | ||
| + | } | ||
| + | var v = getElementsBySelector(selector); | ||
| + | var l = v.length; | ||
| + | for (i = 0; i < l; i++) { | ||
| + | if (edges) AddBorder(v[i], ecolor); | ||
| + | if (t) AddTop(v[i], bk, color, ecolor, prefixt); | ||
| + | if (b) AddBottom(v[i], bk, color, ecolor, prefixb); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | function AddBorder(el, bc) { | ||
| + | var i; | ||
| + | if (!el.passed) { | ||
| + | if (el.childNodes.length == 1 && el.childNodes[0].nodeType == 3) { | ||
| + | var t = el.firstChild.nodeValue; | ||
| + | el.removeChild(el.lastChild); | ||
| + | var d = CreateEl("span"); | ||
| + | d.style.display = "block"; | ||
| + | d.appendChild(document.createTextNode(t)); | ||
| + | el.appendChild(d); | ||
| + | } | ||
| + | for (i = 0; i < el.childNodes.length; i++) { | ||
| + | if (el.childNodes[i].nodeType == 1) { | ||
| + | el.childNodes[i].style.borderLeft = "1px solid " + bc; | ||
| + | el.childNodes[i].style.borderRight = "1px solid " + bc; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | el.passed = true; | ||
| + | } | ||
| + | |||
| + | function AddTop(el, bk, color, bc, cn) { | ||
| + | var i, lim = 4, | ||
| + | d = CreateEl("b"); | ||
| + | |||
| + | if (cn.indexOf("s") >= 0) lim = 2; | ||
| + | if (bc) d.className = "artop"; | ||
| + | else d.className = "rtop"; | ||
| + | d.style.backgroundColor = bk; | ||
| + | for (i = 1; i <= lim; i++) { | ||
| + | var x = CreateEl("b"); | ||
| + | x.className = cn + i; | ||
| + | x.style.backgroundColor = color; | ||
| + | if (bc) x.style.borderColor = bc; | ||
| + | d.appendChild(x); | ||
| + | } | ||
| + | el.style.paddingTop = 0; | ||
| + | el.insertBefore(d, el.firstChild); | ||
| + | } | ||
| + | |||
| + | function AddBottom(el, bk, color, bc, cn) { | ||
| + | var i, lim = 4, | ||
| + | d = CreateEl("b"); | ||
| + | |||
| + | if (cn.indexOf("s") >= 0) lim = 2; | ||
| + | if (bc) d.className = "artop"; | ||
| + | else d.className = "rtop"; | ||
| + | d.style.backgroundColor = bk; | ||
| + | for (i = lim; i > 0; i--) { | ||
| + | var x = CreateEl("b"); | ||
| + | x.className = cn + i; | ||
| + | x.style.backgroundColor = color; | ||
| + | if (bc) x.style.borderColor = bc; | ||
| + | d.appendChild(x); | ||
| + | } | ||
| + | el.style.paddingBottom = 0; | ||
| + | el.appendChild(d); | ||
| + | } | ||
| + | |||
| + | function CreateEl(x) { | ||
| + | if (isXHTML) return (document.createElementNS('http://www.w3.org/1999/xhtml', x)); | ||
| + | else return (document.createElement(x)); | ||
| + | } | ||
| + | |||
| + | function getElementsBySelector(selector) { | ||
| + | var i, selid = "", | ||
| + | selclass = "", | ||
| + | tag = selector, | ||
| + | f, s = [], | ||
| + | objlist = []; | ||
| + | |||
| + | if (selector.indexOf(" ") > 0) { //descendant selector like "tag#id tag" | ||
| + | s = selector.split(" "); | ||
| + | var fs = s[0].split("#"); | ||
| + | if (fs.length == 1) return (objlist); | ||
| + | f = document.getElementById(fs[1]); | ||
| + | if (f) return (f.getElementsByTagName(s[1])); | ||
| + | return (objlist); | ||
| + | } | ||
| + | if (selector.indexOf("#") > 0) { //id selector like "tag#id" | ||
| + | s = selector.split("#"); | ||
| + | tag = s[0]; | ||
| + | selid = s[1]; | ||
| + | } | ||
| + | if (selid != "") { | ||
| + | f = document.getElementById(selid); | ||
| + | if (f) objlist.push(f); | ||
| + | return (objlist); | ||
| + | } | ||
| + | if (selector.indexOf(".") > 0) { //class selector like "tag.class" | ||
| + | s = selector.split("."); | ||
| + | tag = s[0]; | ||
| + | selclass = s[1]; | ||
| + | } | ||
| + | var v = document.getElementsByTagName(tag); // tag selector like "tag" | ||
| + | if (selclass == "") | ||
| + | return (v); | ||
| + | for (i = 0; i < v.length; i++) { | ||
| + | if (v[i].className.indexOf(selclass) >= 0) { | ||
| + | objlist.push(v[i]); | ||
| + | } | ||
| + | } | ||
| + | return (objlist); | ||
| + | } | ||
| + | |||
| + | function Mix(c1, c2) { | ||
| + | var i, step1, step2, x, y, r = new Array(3); | ||
| + | if (c1.length == 4) step1 = 1; | ||
| + | else step1 = 2; | ||
| + | if (c2.length == 4) step2 = 1; | ||
| + | else step2 = 2; | ||
| + | for (i = 0; i < 3; i++) { | ||
| + | x = parseInt(c1.substr(1 + step1 * i, step1), 16); | ||
| + | if (step1 == 1) x = 16 * x + x; | ||
| + | y = parseInt(c2.substr(1 + step2 * i, step2), 16); | ||
| + | if (step2 == 1) y = 16 * y + y; | ||
| + | r[i] = Math.floor((x * 50 + y * 50) / 100); | ||
| + | } | ||
| + | return ("#" + r[0].toString(16) + r[1].toString(16) + r[2].toString(16)); | ||
| + | } | ||
| + | |||
| + | function doRoundEdges() { | ||
| + | if (!NiftyCheck()) | ||
| + | return; | ||
| + | Rounded("div#nifty", "all", "#FFF", "#D4DDFF", "smooth"); | ||
| + | } | ||
| + | |||
| + | addOnloadHook(doRoundEdges); | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | /* IE Correction Code ********************************************** | ||
| + | * Description: This is code to fix known bugs in IE | ||
| + | * Detects if an IE browser and applies browser-specific code | ||
| + | * Author: User:Bigfoot Lover @ Bionic Wiki | ||
| + | * Added: 8 October 2007 | ||
| + | * Modified 18 October 2007 to fix ie imagemap bug | ||
| + | */ | ||
| + | |||
| + | // setStyleById: given an element id, style property and | ||
| + | // value, apply the style. | ||
| + | // args: | ||
| + | // i - element id | ||
| + | // p - property | ||
| + | // v - value | ||
| + | // | ||
| + | function setStyleById(i, p, v) { | ||
| + | var n = document.getElementById(i); | ||
| + | n.style[p] = v; | ||
| + | } | ||
| + | |||
| + | /* Add a hook to perform code on every pageload */ | ||
| + | addOnloadHook(performIE); | ||
| + | |||
| + | function performIE() { | ||
| + | if (-1 != navigator.userAgent.indexOf("MSIE")) { | ||
| + | /* perform Microsoft Internet Explorer-specific subs */ | ||
| + | var Divs = document.getElementsByTagName("div"); | ||
| + | var divCnt = 0; | ||
| + | var divID = ""; | ||
| + | if (Divs.length > 0) { | ||
| + | var CurrDiv = Divs[0]; | ||
| + | var s = ""; | ||
| + | while (Divs.length > divCnt) { | ||
| + | s = eval("CurrDiv.style.ietop"); | ||
| + | if ((s != "") && (s != null)) { | ||
| + | divID = "mapDiv" + divCnt; | ||
| + | CurrDiv.setAttribute("id", divID); | ||
| + | setStyleById(divID, "top", CurrDiv.style.ietop); | ||
| + | } | ||
| + | divCnt++; | ||
| + | CurrDiv = Divs[divCnt]; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | //Get Ad Dart Number | ||
| + | var randDARTNumber = 0; | ||
| + | |||
| + | function genSetRandDARTNumber() { | ||
| + | randDARTNumber = Math.round(Math.random() * 1000000000000); | ||
| + | } | ||
| + | genSetRandDARTNumber(); | ||
| + | |||
| + | /* </pre> */ | ||
/*********百度主动推送代码***********/ | /*********百度主动推送代码***********/ | ||
<script> | <script> | ||
2018年2月28日 (三) 09:48的版本
var usesClass = (function() {
var reCache = {};
return function(element, className) {
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
};
})();
/* JavaScript for rounding borders
Source: http://webdesign.html.it/articoli/leggi/528/more-nifty-corners */
function NiftyCheck() {
if (!document.getElementById || !document.createElement)
return (false);
isXHTML = /html\:/.test(document.getElementsByTagName('body')[0].nodeName);
if (Array.prototype.push == null) {
Array.prototype.push = function() {
this[this.length] = arguments[0];
return (this.length);
}
}
return (true);
}
function Rounded(selector, wich, bk, color, opt) {
var i, prefixt, prefixb, cn = "r",
ecolor = "",
edges = false,
eclass = "",
b = false,
t = false;
if (color == "transparent") {
cn = cn + "x";
ecolor = bk;
bk = "transparent";
} else if (opt && opt.indexOf("border") >= 0) {
var optar = opt.split(" ");
for (i = 0; i < optar.length; i++)
if (optar[i].indexOf("#") >= 0) ecolor = optar[i];
if (ecolor == "") ecolor = "#666";
cn += "e";
edges = true;
} else if (opt && opt.indexOf("smooth") >= 0) {
cn += "a";
ecolor = Mix(bk, color);
}
if (opt && opt.indexOf("small") >= 0) cn += "s";
prefixt = cn;
prefixb = cn;
if (wich.indexOf("all") >= 0) {
t = true;
b = true
} else if (wich.indexOf("top") >= 0) t = "true";
else if (wich.indexOf("tl") >= 0) {
t = "true";
if (wich.indexOf("tr") < 0) prefixt += "l";
} else if (wich.indexOf("tr") >= 0) {
t = "true";
prefixt += "r";
}
if (wich.indexOf("bottom") >= 0) b = true;
else if (wich.indexOf("bl") >= 0) {
b = "true";
if (wich.indexOf("br") < 0) prefixb += "l";
} else if (wich.indexOf("br") >= 0) {
b = "true";
prefixb += "r";
}
var v = getElementsBySelector(selector);
var l = v.length;
for (i = 0; i < l; i++) {
if (edges) AddBorder(v[i], ecolor);
if (t) AddTop(v[i], bk, color, ecolor, prefixt);
if (b) AddBottom(v[i], bk, color, ecolor, prefixb);
}
}
function AddBorder(el, bc) {
var i;
if (!el.passed) {
if (el.childNodes.length == 1 && el.childNodes[0].nodeType == 3) {
var t = el.firstChild.nodeValue;
el.removeChild(el.lastChild);
var d = CreateEl("span");
d.style.display = "block";
d.appendChild(document.createTextNode(t));
el.appendChild(d);
}
for (i = 0; i < el.childNodes.length; i++) {
if (el.childNodes[i].nodeType == 1) {
el.childNodes[i].style.borderLeft = "1px solid " + bc;
el.childNodes[i].style.borderRight = "1px solid " + bc;
}
}
}
el.passed = true;
}
function AddTop(el, bk, color, bc, cn) {
var i, lim = 4,
d = CreateEl("b");
if (cn.indexOf("s") >= 0) lim = 2;
if (bc) d.className = "artop";
else d.className = "rtop";
d.style.backgroundColor = bk;
for (i = 1; i <= lim; i++) {
var x = CreateEl("b");
x.className = cn + i;
x.style.backgroundColor = color;
if (bc) x.style.borderColor = bc;
d.appendChild(x);
}
el.style.paddingTop = 0;
el.insertBefore(d, el.firstChild);
}
function AddBottom(el, bk, color, bc, cn) {
var i, lim = 4,
d = CreateEl("b");
if (cn.indexOf("s") >= 0) lim = 2;
if (bc) d.className = "artop";
else d.className = "rtop";
d.style.backgroundColor = bk;
for (i = lim; i > 0; i--) {
var x = CreateEl("b");
x.className = cn + i;
x.style.backgroundColor = color;
if (bc) x.style.borderColor = bc;
d.appendChild(x);
}
el.style.paddingBottom = 0;
el.appendChild(d);
}
function CreateEl(x) {
if (isXHTML) return (document.createElementNS('http://www.w3.org/1999/xhtml', x));
else return (document.createElement(x));
}
function getElementsBySelector(selector) {
var i, selid = "",
selclass = "",
tag = selector,
f, s = [],
objlist = [];
if (selector.indexOf(" ") > 0) { //descendant selector like "tag#id tag"
s = selector.split(" ");
var fs = s[0].split("#");
if (fs.length == 1) return (objlist);
f = document.getElementById(fs[1]);
if (f) return (f.getElementsByTagName(s[1]));
return (objlist);
}
if (selector.indexOf("#") > 0) { //id selector like "tag#id"
s = selector.split("#");
tag = s[0];
selid = s[1];
}
if (selid != "") {
f = document.getElementById(selid);
if (f) objlist.push(f);
return (objlist);
}
if (selector.indexOf(".") > 0) { //class selector like "tag.class"
s = selector.split(".");
tag = s[0];
selclass = s[1];
}
var v = document.getElementsByTagName(tag); // tag selector like "tag"
if (selclass == "")
return (v);
for (i = 0; i < v.length; i++) {
if (v[i].className.indexOf(selclass) >= 0) {
objlist.push(v[i]);
}
}
return (objlist);
}
function Mix(c1, c2) {
var i, step1, step2, x, y, r = new Array(3);
if (c1.length == 4) step1 = 1;
else step1 = 2;
if (c2.length == 4) step2 = 1;
else step2 = 2;
for (i = 0; i < 3; i++) {
x = parseInt(c1.substr(1 + step1 * i, step1), 16);
if (step1 == 1) x = 16 * x + x;
y = parseInt(c2.substr(1 + step2 * i, step2), 16);
if (step2 == 1) y = 16 * y + y;
r[i] = Math.floor((x * 50 + y * 50) / 100);
}
return ("#" + r[0].toString(16) + r[1].toString(16) + r[2].toString(16));
}
function doRoundEdges() {
if (!NiftyCheck())
return;
Rounded("div#nifty", "all", "#FFF", "#D4DDFF", "smooth");
}
addOnloadHook(doRoundEdges);
/* IE Correction Code **********************************************
* Description: This is code to fix known bugs in IE
* Detects if an IE browser and applies browser-specific code
* Author: User:Bigfoot Lover @ Bionic Wiki
* Added: 8 October 2007
* Modified 18 October 2007 to fix ie imagemap bug
*/
// setStyleById: given an element id, style property and
// value, apply the style.
// args:
// i - element id
// p - property
// v - value
//
function setStyleById(i, p, v) {
var n = document.getElementById(i);
n.style[p] = v;
}
/* Add a hook to perform code on every pageload */
addOnloadHook(performIE);
function performIE() {
if (-1 != navigator.userAgent.indexOf("MSIE")) {
/* perform Microsoft Internet Explorer-specific subs */
var Divs = document.getElementsByTagName("div");
var divCnt = 0;
var divID = "";
if (Divs.length > 0) {
var CurrDiv = Divs[0];
var s = "";
while (Divs.length > divCnt) {
s = eval("CurrDiv.style.ietop");
if ((s != "") && (s != null)) {
divID = "mapDiv" + divCnt;
CurrDiv.setAttribute("id", divID);
setStyleById(divID, "top", CurrDiv.style.ietop);
}
divCnt++;
CurrDiv = Divs[divCnt];
}
}
}
}
//Get Ad Dart Number
var randDARTNumber = 0;
function genSetRandDARTNumber() {
randDARTNumber = Math.round(Math.random() * 1000000000000);
}
genSetRandDARTNumber();
/* </pre> */
/*********百度主动推送代码***********/
<script>
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>
/*******360主动收录代码**************/
<script>(function(){
var src = (document.location.protocol == "http:") ? "http://js.passport.qihucdn.com/11.0.1.js?9d91b9d962051daef41972684348663d":"https://jspassport.ssl.qhimg.com/11.0.1.js?9d91b9d962051daef41972684348663d";
document.write('<script src="' + src + '" id="sozz"><\/script>');
})();
</script>