我的页面上有一个模态对话框,当用户与页面进行某些类型的交互时会弹出该对话框。
我使用React并使用webpack创建了一个整洁的小包,通过脚本标记包含在我的页面中。
因为它使用Generators而我必须支持Internet Explorer 11,所以我需要babel-polyfill,所以我的HTML代码如下所示:
<script src="//cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.9.1/polyfill.min.js"></script>
<script src="/survey-modal.js" async></script>
困扰我的是我正在同步加载Babel polyfill。如果我将async添加到第一个脚本标记,我的代码可以工作,但我不确定这是否是确定性的,即代码是否只是偶然的,因为polyfill在调查模式脚本之前完成加载。
从CDN加载babel-polyfill时使用<script async>是否安全?
如果你使用async标签,你不能保证它会在你的模态之前加载,所以我不会那样使用它。
不,它不是确定性的,也不会一直有效。
如果你愿意,你可以在chrome上使用限制,并看到当下载速度很低时,它总是不起作用。