我创建了自定义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
答案 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插件使用。