| // Copyright 2014 Simon Lydell |
| // X11 (“MIT”) Licensed. (See LICENSE.) |
| |
| void (function(root, factory) { |
| if (typeof define === "function" && define.amd) { |
| define(factory) |
| } else if (typeof exports === "object") { |
| module.exports = factory() |
| } else { |
| root.resolveUrl = factory() |
| } |
| }(this, function() { |
| |
| function resolveUrl(/* ...urls */) { |
| var numUrls = arguments.length |
| |
| if (numUrls === 0) { |
| throw new Error("resolveUrl requires at least one argument; got none.") |
| } |
| |
| var base = document.createElement("base") |
| base.href = arguments[0] |
| |
| if (numUrls === 1) { |
| return base.href |
| } |
| |
| var head = document.getElementsByTagName("head")[0] |
| head.insertBefore(base, head.firstChild) |
| |
| var a = document.createElement("a") |
| var resolved |
| |
| for (var index = 1; index < numUrls; index++) { |
| a.href = arguments[index] |
| resolved = a.href |
| base.href = resolved |
| } |
| |
| head.removeChild(base) |
| |
| return resolved |
| } |
| |
| return resolveUrl |
| |
| })); |