Ich folgte dieser Antwort https://stackoverflow.com/a/7719185/842837, um JavaScript asynchron zu laden. Wie gebe ich Daten an diese externe Datei weiter?Wie Daten an externe Javascript-Skript übergeben werden, asynchron geladen
Aktuelle Code:
<script id="js-widget-o2ba1y" type='text/javascript'>
(function() {
function async_load(){
var config = {
'module': 'hyperdesign',
'user-name': 'John Doe',
'user-email': '[email protected]'
};
var id = "js-widget-o2ba1y";
var embedder = document.getElementById(id);
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
var u = 'http://external.javascript.file.js';
s.src = u + (u.indexOf("?") >= 0 ? "&" : "?") + 'ref=' + encodeURIComponent(window.location.href);
embedder.parentNode.insertBefore(s, embedder);
}
if (window.attachEvent)
window.attachEvent('onload', async_load);
else
window.addEventListener('load', async_load, false);
})();
</script>
Wie sende ich config
an externen JS-Datei?
BEARBEITEN Ich ging google Analytics Code. Sie laden auch ihre Skript asynchron und Konfigurationsdaten von 3rd-Party-Website verwenden:
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
Ich brauche das gleiche, in einer besser lesbaren Art und Weise zu tun.
Ein Modulladesystem könnte die Dinge vereinfachen. – gcampbell
Ich mache ein Widget, dass Drittanbieter-Websites in ihren Websites einbetten können. – jerrymouse
Oh richtig. Sie könnten alles in eine Funktion umbrechen, sobald es geladen ist, rufen Sie die Funktion mit einigen Argumenten auf. – gcampbell