Přeskočit na hlavní obsah

Asynchronní načítání SSP scriptu

Výdejový JavaScript ssp.js se bude načítat asynchronně, doplníme-li do příslušného HTML elementu script atribut defer. Asynchronní načítání přináší výhodu v podobě rychlejšího zobrazení celé stránky, zvláště pak v případě, kdy je element odkazující na výdejový JavaScript umístěn v její hlavičce. Aby nedošlo k chybě, je třeba metody z ssp.js ve stránce volat až ve chvíli, kdy je výdejový JavaScript kompletně načtený. Toho můžeme docílit například způsobem uvedeným v příkladu:

<head>
...
<script defer src="https://ssp.seznam.cz/static/js/ssp.js" id="ssp-script"></script>
...
</head>
<body>
...
<div id="p1" data-szn-ssp-ad='{"zoneId": 77801, "width": 970}'></div>

<div id="p2" data-szn-ssp-ad='{"zoneId": 52676, "width": 300}'></div>
...
<script>
var sspScript = document.getElementById('ssp-script');
sspScript.addEventListener('load', function() {
sssp.config({
// Konfigurace SSP
});

sssp.getAdsByTags();
});
</script>
...
</body>

Podporován je i původní způsob přidávání funkcí do fronty pomocí pole window.ssspQ. Tento způsob doporučujeme používat jen v krajních případech, kdy nelze použít způsob výše – typicky pokud nemáte plnou kontrolu nad načtením SSP skriptu.

<body>
...
<div id="p1" data-szn-ssp-ad='{"zoneId": 77801, "width": 970}'></div>

<div id="p2" data-szn-ssp-ad='{"zoneId": 52676, "width": 300}'></div>
...
<script>
(function () {
window.ssspQ = window.ssspQ || [];
var p = {source:"media", site:"novinky.cz"};
window.sssp ? sssp.config(p) : ssspQ.push(function () { sssp.config(p) });
})();
(function () {
window.ssspQ = window.ssspQ || [];
window.sssp ? sssp.getAdsByTags() : ssspQ.push(function () { sssp.getAdsByTags() });
})();
</script>
...
</body>