Zum Hauptinhalt springen

Kann ich das Laden von Intercom auf meiner Website verzögern, um die JS-Last zu reduzieren?

Verfasst von Beth-Ann Sher


Diese Antwort stammt aus dem Intercom Community Forum. 👌


Kann ich das Laden von Intercom auf meiner Website verzögern, also erst nach vollständigem Laden der Seite für einen Besucher laden?

Sie können die Intercom-Ladefunktion so anpassen, dass sie in einer setTimeout-Funktion ausgeführt wird:

   // Intercom
window.intercomSettings = {
app_id: "<YOUR WIDGET ID>"
};

var w = window;
var ic = w.Intercom;
if (typeof ic === "function") {
ic('reattach_activator');
ic('update', w.intercomSettings);
} else {
var d = document;
var i = function() {
i.c(arguments);
};
i.q = [];
i.c = function(args) {
i.q.push(args);
};
w.Intercom = i;
var l = function() {
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://widget.intercom.io/widget/<YOUR WIDGET ID>';
var x = d.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
};
l();
}

Der Unterschied ist, dass der Teil, der normalerweise l() ausführt, onLoad ist und nach dem setTimeout ausgeführt wird.

Sie können die Funktion l() auch ganz entfernen (und nur die Variablen deklarieren) und sie einfach ausführen, da sie in einer setTimeout-Funktion eingebettet ist.

Lesen Sie diese und andere Fragen hier im Intercom Community.

Hat dies deine Frage beantwortet?