如何将JQuery导入自定义dnn模块

时间:2013-09-01 09:17:55

标签: javascript jquery asp.net dotnetnuke dotnetnuke-module

我创建了自定义DNN模块,应该使用一些JQuery插件 我装插件很好。
但是得到错误:

Uncaught TypeError: undefined is not a function imagesloaded.js?cdv=18:93
Uncaught TypeError: Object [object Object] has no method 'imagesLoaded' Masonry:755
GET http://dnn7site/jquery.min.map 404 (Not Found) Masonry:464
GET http://dnn7site/resources/shared/scripts/jquery/jquery.min.map 404 (Not Found)

我认为这是因为我的自定义模块中未导入JQuery。 我包含了其他JS文件,例如:

<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/com.demo.masonry/Scripts/jquery.infinitescroll.min.js"  />
<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/com.demo.masonry/Scripts/masonry.pkgd.js"  />
<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/com.demo.masonry/Scripts/imagesloaded.js"  />

但我不知道如何导入JQuery,有什么帮助吗? 我使用 DNN 7.1.1

2 个答案:

答案 0 :(得分:7)

不要使用其他答案中描述的方法包含jquery。这可能会导致与您的DNN安装和/或其他模块捆绑在一起的jquery版本发生冲突。

要在DNN中包含jQuery,它如下:

DotNetNuke.Framework.jQuery.RequestRegistration()

如果您想要jquery UI,请使用:

DotNetNuke.Framework.jQuery.RequestUIRegistration()

如果您想通过ASCX文件执行此操作,请使用:

<%@ Register TagPrefix="dnn" TagName="JQUERY" Src="~/Admin/Skins/jQuery.ascx" %>
<dnn:JQUERY ID="dnnjQuery" runat="server" />

可在此处找到更多信息:

http://www.dnnsoftware.com/wiki/Page/jQuery

可以在主机设置中配置jquery的版本以及是否使用托管文件 - &gt;高级设置 - &gt; jquery设置。

答案 1 :(得分:0)

如果需要jQuery,请尝试downloading jQuery库并将jQuery脚本文件放在与其他脚本文件相同的位置,并确保在需要jQuery的任何其他脚本文件之前引用jQuery库。例如:

<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/com.demo.masonry/Scripts/jquery-1.9.1.min.js"  />
<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/com.demo.masonry/Scripts/jquery.infinitescroll.min.js"  />
<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/com.demo.masonry/Scripts/masonry.pkgd.js"  />
<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/com.demo.masonry/Scripts/imagesloaded.js"  />

但是,Masonry documentation表明运行插件不需要jQuery,所以你的问题可能在其他地方

jQuery不需要使用Masonry。但是如果你喜欢jQuery,那么Masonry可以将它作为jQuery插件使用。