JavaScript - Parameter via Script-Tag übergeben
Manchmal kann es sinnvoll sein, den JavaScript-Dateien direkt beim Einbinden Optionen/Parameter zu übergeben. Z.B. wenn das Skript nicht auf der eigenen Seite eingebunden wird, sondern über einen Remote-Host und dort Anfragen/Aufgaben erledigen soll, die Antwort aber auf der eigenen Seite durchgeführt wird. (Beispiel: Simple API Einbindung im Front End..)
(() => {
const ACMS_LIB_FILE = '/remote/acms.remote.js',
scripts = document.getElementsByTagName("script"),
options = {};
let i, j, src, parts, basePath, name, opt, value, pair;
for (i = 0; i < scripts.length; i++) {
script = scripts[i];
src = script.src;
if (src.indexOf(ACMS_LIB_FILE) != -1) {
parts = src.split('?');
basePath = parts[0].replace(ACMS_LIB_FILE, '');
if (parts[1]) {
opt = parts[1].split('&');
for (j = opt.length - 1; j >= 0; --j) {
pair = opt[j].split('=');
options[pair[0]] = pair[1];
}
}
const attr = script.getAttributeNames();
for (name of attr) {
value = script.getAttribute(name);
options[name] = value;
}
break;
}
}
// Anschließend kann man mit den Optionen `options` fortfahren.
// process code..
})();
Die Einbindung des Script-Tags erfolgt in etwa so:
<script src="https://host.tld/path/to/remote.js?option1=A&option2=b"></script>