如何将异步(非阻塞)javascript 与 DNN 客户端资源管理结合使用

Lee*_*ise 5 javascript themes dotnetnuke asynchronous skin

我使用 DNN 的客户端资源管理将 javascript 和 css 加载到主题(皮肤)中,这样我可以利用缩小和复合文件,但我需要它们是异步的(非阻塞)。如何才能做到这一点?

bdu*_*kes 4

据我所知,没有办法在客户端资源管理框架呈现的标签上使用async(或defer) 属性。<script>\n您可以向客户端资源管理框架呈现的<script>(或) 标记添加属性。<link>将属性添加HtmlAttributesAsString到控件中,然后用冒号分隔属性名称和值,例如HtmlAttributesAsString="async:true"。需要注意的一件事是,存在一个错误,其中应该通过逗号允许的多个属性未正确呈现(请注意此拉取请求,它将修复该问题,然后需要集成到深度神经网络)。

\n\n

您还可以编写脚本,以便它设置一个事件处理程序以在加载页面后执行操作(例如将您的代码包装在jQuery(function ($) { \xe2\x80\xa6 });

\n\n

您还可以使用控件ForceProvider上的属性DnnJsInclude将脚本设置为在</form>元素的底部加载,而不是在元素的顶部<body>(脚本的默认设置)。所以,这可能看起来像这样:

\n\n
<dnn:DnnJsInclude runat="server" \n                  PathNameAlias="SkinPath"\n                  FilePath="js/theme.min.js" \n                  ForceProvider="DnnFormBottomProvider" \n                  Priority="10000" />\n
Run Code Online (Sandbox Code Playgroud)\n