Flikkering beheren voor synchrone implementaties
Synchroon flikkerbeheer bestaat uit drie fasen:
- Voorverbergen
- Voorbewerken
- Renderen
Tijdens de preHide fase, gebruikt SDK het prehidingStyle
configuratiebezit om een de stijlmarkering van HTML tot stand te brengen en het aan DOM toe te voegen om ervoor te zorgen dat de gewenste secties van de pagina verborgen zijn. Als u niet zeker weet welke delen van de pagina u wilt aanpassen, kunt u het beste prehidingStyle
op body { opacity: 0 !important }
instellen. Zo weet u zeker dat de hele pagina verborgen is. Dit heeft echter het nadeel van het leiden tot slechtere weergaveprestaties voor pagina's die worden gemeld door gereedschappen zoals Lighthouse, Webpaginatests, enzovoort. Voor de beste weergaveprestaties van de pagina, is het raadzaam prehidingStyle
in te stellen op een lijst met containerelementen die de delen van de pagina bevatten die worden aangepast.
Ervan uitgaande dat u een HTML-pagina hebt, zoals de pagina hieronder, en u weet dat alleen bar
- en bazz
-containerelementen ooit zullen worden aangepast:
<html>
<head>
</head>
<body>
<div id="foo">
Foo foo foo
</div>
<div id="bar">
Bar bar bar
</div>
<div id="bazz">
Bazz bazz bazz
</div>
</body>
</html>
Vervolgens moet de prehidingStyle
worden ingesteld op iets als #bar, #bazz { opacity: 0 !important }
.
Zodra SDK gepersonaliseerde inhoud van de server heeft ontvangen, begint de preprocessing fase. Tijdens deze fase, wordt de reactie vooraf verwerkt, ervoor zorgend dat de elementen die gepersonaliseerde inhoud moeten bevatten worden verborgen. Nadat deze elementen zijn verborgen, wordt de stijltag HTML die is gemaakt op basis van de configuratieoptie prehidingStyle
verwijderd en worden de hoofdtekst van de HTML of de verborgen containerelementen weergegeven.
Nadat al verpersoonlijkingsinhoud met succes is teruggegeven, of als er om het even welke fout was, begint de teruggevende fase. Alle eerder verborgen elementen worden weergegeven om er zeker van te zijn dat er geen verborgen elementen op de pagina staan die door de SDK zijn verborgen.