|
JavascriptSnippets
A collection of Javascript snippets.
Table of Contents
getElementByClassNameSourcevar getElementsByClassName = function(name, s) {
var scope = s || document, elements = [], length, i;
if (scope == document || scope.nodeType == 1) {
if (document.evaluate) {
var xpath = document.evaluate('.//*[contains(concat(" ", @class, " "), " ' + name + ' ")]', scope, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
length = xpath.snapshotLength, i = 0;
for (; i<length; i++) {
elements.push(xpath.snapshotItem(i));
}
return elements;
} else {
elements = scope.getElementsByTagName('*');
}
} else {
elements = scope;
}
length = elements.length, i = 0;
var nodes = [], regEx = new RegExp('(^|\\s)' + name + '(\\s|$)');
for (; i<length; i++) {
if (elements[i].className.match(regEx)) {
nodes.push(elements[i]);
}
}
return nodes;
};Fix Remote ReferencesConvert remote resources to local. Source<!--//--><![CDATA[//><!--
if (/file/.test(window.location.protocol)) {
var i, element, replacement, regex = /^\/scorm\/content\/framework\//;
for (i = 0; (element = document.getElementsByTagName('link')[i]); i++) {
if (regex.test(element.getAttribute('href'))) {
element.setAttribute('href', element.getAttribute('href').replace(regex, './'));
}
}
for (i = 0; (element = document.getElementsByTagName('script')[i]); i++) {
if (regex.test(element.getAttribute('src'))) {
replacement = document.createElement('script');
replacement.setAttribute('type', 'text/javascript');
replacement.setAttribute('src', element.getAttribute('src').replace(regex, './'));
element.parentNode.replaceChild(replacement, element);
}
}
}
//--><!]]>Convert To BooleanSourcevar convertToBoolean = function(str) {
return /^(true|1)$/i.test(str) && !/^(false|0)$/i.test(str);
};
alert(convertToBoolean('true'));BootstrapOn-demand Javascript. Sourceif (!window.XMLHttpRequest) {
window.XMLHttpRequest = function() {
return new ActiveXObject('Microsoft.XMLHTTP');
}
}
var Bootstrap = {
require: function(module) {
var ajaxRequest = new XMLHttpRequest();
if (!!ajaxRequest) {
ajaxRequest.open('GET', (module+(/\?/.test(module) ? '&' : '?')+'cache='+Number(new Date)), false);
ajaxRequest.send(null);
// This is our attempt to catch a 404 page. If the text loaded includes and HTML tag,
// don't evaluate it as javascript.
if (!/<!DOCTYPE/.test(ajaxRequest.responseText.substr(0, 9))) {
var scriptElement = document.createElement('script');
scriptElement.setAttribute('type', 'text/javascript');
scriptElement.text = ajaxRequest.responseText;
document.getElementsByTagName('head')[0].appendChild(scriptElement);
return true;
}
}
return false;
}
};UsageBootstrap.require("http://www.google-analytics.com/ga.js");Optimized LoopSourcevar length = [Array].length, i=0;
for(; i<length; i++) {
// loop
}XMLHttpRequestPOST(function(){
// IE doesn't implement XMLHttpRequest, so fake it.
if (!window.XMLHttpRequest) {
window.XMLHttpRequest = function() {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
var params = "ICQryName=LEARNER_DEBUG&ICDummy=10113&ICType=Query&ICElementNum=1&ICStateNum=68&ICAction=None&ICXPos=0&ICYPos=0&ICChanged=-1&ICResubmit=0&InputKeys_LM_ENRLMT_ID=17991430";
// Create the Ajax request that will update the scoreboard.
var xmlRequest = new XMLHttpRequest();
xmlRequest.open("POST", "https://dbserhelwd01.ddc.vzwcorp.com:21251/psc/elmstg_1/EMPLOYEE/ELM/q/", true);
xmlRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlRequest.setRequestHeader("Content-length", params.length);
xmlRequest.setRequestHeader("Connection", "close");
xmlRequest.onreadystatechange = function() {
if (xmlRequest.readyState == 4) {
if (xmlRequest.status == 200) {
document.getElementById("results").innerHTML = xmlRequest.responseText;
} else {
alert('SORRY!');
}
}
};
xmlRequest.send(params);
}())AjaxSource// IE doesn't implement XMLHttpRequest, so fake it.
if (!window.XMLHttpRequest) {
window.XMLHttpRequest = function() {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
var ajax = function(method, url, params, callback) {
var xmlRequest = new XMLHttpRequest();
xmlRequest.open(method.toUpperCase(), url, true);
if (method.toUpperCase() == "POST") {
xmlRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlRequest.setRequestHeader("Content-length", params.length);
xmlRequest.setRequestHeader("Connection", "close");
}
xmlRequest.onreadystatechange = function() {
if (xmlRequest.readyState == 4) {
callback(xmlRequest);
}
};
xmlRequest.send(params || null);
};
ajax("POST", "https://dbserhelwd01.ddc.vzwcorp.com:21251/psc/elmstg_1/EMPLOYEE/ELM/q/", "ICQryName=LEARNER_DEBUG&ICDummy=10113&ICType=Query&ICElementNum=1&ICStateNum=68&ICAction=None&ICXPos=0&ICYPos=0&ICChanged=-1&ICResubmit=0&InputKeys_LM_ENRLMT_ID=17991430", function(response){
alert(response.status+": "+response.responseText);
});
|