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 l()-Funktion 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?