Google Chrome a commencé à mettre en œuvre Blocage de la charge des scripts de blocage d'analyse syntaxique insérés via document.write dans le cadre principal sur les réseaux lents, ce qui entraîne l'erreur suivante:
Un script inter-origine bloquant l’analyseur, http://example.org/script.js , est appelé via document.write. Cela peut être bloqué par le navigateur si la connectivité réseau de l'appareil est médiocre.
Cependant, ma page Web nécessite de charger un script tiers de manière synchrone, en utilisant document.write('<script src="..."></script>')
. Comment contourner ce blocus?
Plus sur ce changement:
Selon article de Google Développeurs , vous pouvez:
<script src="..." async>
ou element.appendChild()
,@niutech I avait le même problème qui est causé par Rocket Loader Module par Cloudflare. Il suffit de le désactiver pour le site Web et tous les problèmes liés seront résolus.
N'utilisez pas document.write, voici une solution de contournement:
var script = document.createElement('script');
script.src = "....";
document.head.appendChild(script);