私が書いたDNNモジュールには、次のようなjqueryfancyboxプラグインのcss/jsが含まれています。
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="View.ascx.cs" Inherits="DotNetNuke.Modules.WebPortfolio.View" %>
<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.Client.ClientResourceManagement" Assembly="DotNetNuke.Web.Client" %>
<dnn:DnnCssInclude runat="server" priority="10" FilePath="DesktopModules/WebPortfolio/Scripts/Fancybox/jquery.fancybox.css" />
<dnn:DnnJsInclude runat="server" priority="10" FilePath="DesktopModules/WebPortfolio/Scripts/Fancybox/jquery.fancybox.pack.js" />
編集モードでは、すべてが正常でダンディですが、表示モードに切り替えると、cssとjsは含まれません。これはかなり単純なように見えるので、私は何かが欠けていると思いますが、何ですか?スクリプトが表示モードで読み込まれないのはなぜですか?
DNNバージョンは6.2.4です
編集:私は昨夜と今朝ずっとこれと戦ってきました。スクリプトは編集モードでは毎回読み込まれますが、表示モードまたはログアウトすると、おそらく1回または2回読み込まれ、その後読み込まれません。興味深いことに、モジュールのビューコントロールにサーバー側のタイムスタンプを追加し、すべてのキャッシュ(ブラウザー、DNNホスト設定)を無効にしましたが、ファイルはまだキャッシュされています。これは、ローカルマシン(IIS Express)とステージングサーバー(IIS 7.5)の両方で発生します。
WebサーバーをバウンスしてPortals/0 / Cacheディレクトリをクリアすると、スクリプトが最初に読み込まれることがありますが、その後は失敗します。私はついに、必要に応じてスクリプトを動的にロードするクライアント側のチェックに頼りましたが、それはクライアントリソース管理APIの良さを回避するので、適切な解決策を見つけたいと思います。