我有一个带皮肤的DNN网站。我的头部标签中有runat="server",所以我尝试在head标签内添加一个标签,如下所示:
<script async defer src="https://maps.googleapis.com/maps/api/js?key=<%#GoogleAPIkey%>"></script>
在代码后台,我将GoogleAPIkey设置为属性。问题是它没有加载该值。
然后我尝试在代码后台添加脚本标签,如下所示:
HtmlGenericControl jqueryInclude = new HtmlGenericControl("script");
jqueryInclude.Attributes.Add("type", "text/javascript");
jqueryInclude.Attributes.Add("async", "async");
jqueryInclude.Attributes.Add("defer", "defer");
jqueryInclude.Attributes.Add("src", "https://maps.googleapis.com/maps/api/js?key=" + GoogleAPIkey );
这个方法输出标签作为:
<script async="async" defer="defer" src="https://maps.googleapis.com/maps/api/js?key=xxx"></script>
这个语法是否有效,还是需要采用不同的编写方式,或者将其移出head标签。
async = async
才能满足验证器的要求。无论如何,这不会对“正常”的HTML验证器/浏览器造成伤害,因为它们将忽略该值并基于属性存在的事实工作(正如Mike C所指出的那样)。 - Christiaan Rakowski