web-dev-qa-db-fra.com

Un script inter-origine bloquant l’analyseur est appelé via document.write - comment le contourner?

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:

56
niutech

Selon article de Google Développeurs , vous pouvez:

31
niutech

@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.

17
Vaibhav Mistry

N'utilisez pas document.write, voici une solution de contournement:

var script = document.createElement('script');  
script.src = "....";  
document.head.appendChild(script);
2
Gray