编程语言
首页 > 编程语言> > 如何在DNN客户端资源管理中使用异步(非阻塞)javascript

如何在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