29 lines
697 B
JavaScript
29 lines
697 B
JavaScript
var bundleURL = null;
|
|
function getBundleURLCached() {
|
|
if (!bundleURL) {
|
|
bundleURL = getBundleURL();
|
|
}
|
|
|
|
return bundleURL;
|
|
}
|
|
|
|
function getBundleURL() {
|
|
// Attempt to find the URL of the current script and use that as the base URL
|
|
try {
|
|
throw new Error;
|
|
} catch (err) {
|
|
var matches = ('' + err.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\/\/[^)\n]+/g);
|
|
if (matches) {
|
|
return getBaseURL(matches[0]);
|
|
}
|
|
}
|
|
|
|
return '/';
|
|
}
|
|
|
|
function getBaseURL(url) {
|
|
return ('' + url).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\/\/.+)\/[^/]+$/, '$1') + '/';
|
|
}
|
|
|
|
exports.getBundleURL = getBundleURLCached;
|
|
exports.getBaseURL = getBaseURL;
|