2

我创建了应该使用一些JQuery插件的自定义 DNN 模块。
我加载插件很好。
但出现错误:

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

4

2 回答 2

8

不要使用其他答案中描述的方法包含 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的版本和是否使用托管文件可以在主机设置->高级设置->jquery设置中进行配置。

于 2013-09-01T10:37:27.927 回答
0

如果需要 jQuery,请尝试下载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 文档建议运行插件不需要 jQuery,因此您的问题可能出在其他地方

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

于 2013-09-01T09:31:23.673 回答