2

私が書いた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の良さを回避するので、適切な解決策を見つけたいと思います。

4

1 に答える 1

0

これは、先ほどログに記録した問題 ( DNN-20363 ) のように思えます。この問題では、クライアント リソース管理フレームワークに登録されたリソースが、モジュールがキャッシュされたときに含まれません。モジュールのモジュールキャッシュがオンになっているときに、これに遭遇していました。モジュールの定義にデフォルトのキャッシュ時間が設定されていますか? これをオフにしてから、新しいインスタンスを追加してみてください (キャッシュ設定自体がキャッシュされないようにするため)。

于 2012-10-18T13:53:50.673 に答える