web-dev-qa-db-fra.com

Exécution de script bloquée car le cadre du document est en bac à sable - Angular

J'ai un problème étrange - lors du déploiement de l'application (pure angular avec l'api de repos) sur le serveur de production et en accédant à son URL via un lien depuis un autre site (ref par e-mail par exemple), j'ai une page vierge - Firefox ne dit rien, chrome dit

Exécution de script bloquée dans "URL du site Web" car le cadre du document est en sandbox et l'autorisation "allow-scripts" n'est pas définie.

et bloque tous mes fichiers .js ...

qu'est-ce que ça veut dire? J'ai trouvé sur Internet quelque chose sur les iframes mais je n'ai pas d'iframes sur mon site ...

Le plus étrange à mon avis est que si j'accède directement à ce lien, tout fonctionne sans problème ...

Alors, comment éviter ce comportement?

Merci pour toute réponse

15
blazek

Le message d'erreur avertit qu'un Iframe est en bac à sable sans privilèges appropriés

Oui, vous cliquez sur un iFrame. Ceci est un exemple d'iFrame en bac à sable.

<iframe sandbox src="http://usercontent.example.net/getusercontent.cgi?id=12193"></iframe>

Si vous inspectez l'élément sur GMail, vous remarquerez des iFrames partout. L'attribut sandbox n'est pas toujours attaché automatiquement, car l'attribut sandbox contrôle ce qui est autorisé.

Lorsqu'une fenêtre contextuelle est nécessaire, l'attribut change

<iframe sandbox="allow-same-Origin allow-scripts allow-popups allow-forms" src="http://usercontent.example.net/getusercontent.cgi?id=12193"></iframe>

Ceci est fait pour protéger l'utilisateur et l'application de messagerie de XSS

L'iFrame doit autoriser les fenêtres pop-up, les nouvelles fenêtres ou les scripts. Quoi que vous essayiez (probablement juste la navigation), l'action est bloquée par un bac à sable.

23
Dave Alperovich