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"  />

しかし、インポートの方法がわかりませんJQueryDNN 7.1.1
を使用しています

4

2 に答える 2

8

他の回答で説明されている方法を使用して jquery を含めないでください。これにより、DNN インストールやその他のモジュールにバンドルされている可能性のある jquery バージョンとの競合が発生する可能性があります。

jQuery を DNN に含めるには、次のようにします。

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 に答える