Javascript async和defer语法为async=”可以吗;异步;?
我有带皮的DNN。我的head标记已运行at=“server”,因此我尝试在head标记中添加一个标记Javascript async和defer语法为async=”可以吗;异步;?,javascript,c#,Javascript,C#,我有带皮的DNN。我的head标记已运行at=“server”,因此我尝试在head标记中添加一个标记 <script async defer src="https://maps.googleapis.com/maps/api/js?key=<%#GoogleAPIkey%>"></script> 此方法将标记输出为 <script async="async" defer="defer" src="https://maps.googleapis.com
<script async defer src="https://maps.googleapis.com/maps/api/js?key=<%#GoogleAPIkey%>"></script>
此方法将标记输出为
<script async="async" defer="defer" src="https://maps.googleapis.com/maps/api/js?key=xxx"></script>
这是有效的语法吗?或者我需要使用不同的方法来写出来,或者甚至可以将它从head标签中移出。规范说明了这一点。至于如何指定:
元素上存在布尔属性表示真值,不存在该属性表示假值
如果属性存在,则其值必须为空字符串或[…]属性的规范名称,且不带前导或尾随空格
注意:布尔属性上不允许值“true”和“false”。要表示假值,必须完全忽略该属性
所以从技术上讲,重要的是属性的存在,而不是它的值是什么。这意味着您可以使用
async=“async”
但我相信,XHTML要求属性始终具有值,这意味着您需要使用async=async
来满足验证器的要求。在任何情况下,它都不会伤害“普通”HTML验证程序/浏览器,因为它们只会忽略该值,并基于该属性存在的事实工作(正如Mike C指出的)
<script async="async" defer="defer" src="https://maps.googleapis.com/maps/api/js?key=xxx"></script>