我使用DNN的客户端资源管理将javascript和css加载到主题(皮肤)中,这样我就可以利用压缩文件和复合文件,但我需要它们是异步的(非阻塞)。如何才能做到这一点?
据我所知,还没有一种方法可以在由客户端资源管理框架呈现的标签上使用您可以将属性添加到由客户端资源管理框架呈现的async
(或defer
)属性<script>
。<script>
(或<link>
)标签。将属性添加HtmlAttributesAsString
到控件,然后用冒号(例如)分隔属性名称和值HtmlAttributesAsString="async:true"
。要注意的一件事是,存在一个错误,该错误导致应正确通过逗号分隔的多个属性无法正确呈现(请注意此请求,该请求将进行修复,然后将其集成到DNN中)。
您还可以编写脚本,以便它设置事件处理程序以在页面加载后执行操作(例如,将代码包装在中jQuery(function ($) { … });
)
您还可以使用控件ForceProvider
上的属性DnnJsInclude
将脚本设置为在</form>
元素底部加载,而不是在元素顶部加载<body>
(脚本的默认设置)。因此,可能看起来像这样:
<dnn:DnnJsInclude runat="server"
PathNameAlias="SkinPath"
FilePath="js/theme.min.js"
ForceProvider="DnnFormBottomProvider"
Priority="10000" />
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句