/** *CreateanabsoluteURLfrom`options`anddefaultingunspecifiedpropertiesto`window.location`. *@param{Object}options-a`Location`-likeobject *@param{string}options.hostname *@param{string}options.subdomain-prependsubdomaintothehostname *@param{string}options.port *@param{string}options.path *@param{string}options.query *@param{string}options.hash *@returns{string}
*/ function make_absolute_url(options) { function get(obj, name, default_val) { if (obj.hasOwnProperty(name)) { return obj[name];
} return default_val;
}
var loc = window.location; var protocol = get(options, "protocol", loc.protocol); if (protocol[protocol.length - 1] != ":") {
protocol += ":";
}
var hostname = get(options, "hostname", loc.hostname);
var subdomain = get(options, "subdomain"); if (subdomain) {
hostname = subdomain + "." + hostname;
}
var port = get(options, "port", loc.port) var path = get(options, "path", loc.pathname); var query = get(options, "query", loc.search); var hash = get(options, "hash", loc.hash)
var url = protocol + "//" + hostname; if (port) {
url += ":" + port;
}
if (path[0] != "/") {
url += "/";
}
url += path; if (query) { if (query[0] != "?") {
url += "?";
}
url += query;
} if (hash) { if (hash[0] != "#") {
url += "#";
}
url += hash;
} return url;
}
/** *GenerateanewUUID. *@returns{string}
*/ function token() { function rand_int(bits) { if (bits < 1 || bits > 53) { thrownew TypeError();
} else { if (bits >= 1 && bits <= 30) { return0 | ((1 << bits) * Math.random());
} else { var high = (0 | ((1 << (bits - 30)) * Math.random())) * (1 << 30); var low = 0 | ((1 << 30) * Math.random()); return high + low;
}
}
}
function to_hex(x, length) { var rv = x.toString(16); while (rv.length < length) {
rv = "0" + rv;
} return rv;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.