如何在DNN客户端资源管理中使用异步(非阻塞)javascript
作者:互联网
我使用DNN的客户端资源管理将javascript和css加载到主题(皮肤)中,这样我可以利用缩小和复合文件,但我需要它们是异步的(非阻塞).如何才能做到这一点?
解决方法:
据我所知,没有办法在< script>上使用async(或defer)属性.由客户端资源管理框架呈现的标记.
您可以向< script>添加属性客户资源管理框架呈现的(或< link>)标记.将属性HtmlAttributesAsString添加到控件,然后使用冒号分隔属性名称和值,例如HtmlAttributesAsString = “异步:真”.需要注意的一点是,存在一个错误,即多个属性(应该通过逗号允许)不能正确呈现(请密切关注this pull request,这将解决这个问题,然后需要集成到DNN中).
您还可以编写脚本,以便在页面加载后设置一个事件处理程序来执行操作(例如,将代码包装在jQuery中(函数($){…});)
您还可以使用DnnJsInclude控件上的ForceProvider属性将脚本设置为在< / form>底部加载.元素,而不是< body>的顶部(脚本的默认值).所以,这可能是这样的:
<dnn:DnnJsInclude runat="server"
PathNameAlias="SkinPath"
FilePath="js/theme.min.js"
ForceProvider="DnnFormBottomProvider"
Priority="10000" />
标签:javascript,asynchronous,themes,dotnetnuke,skin 来源: https://codeday.me/bug/20190627/1309178.html