2

私は Lightbox2 ライブラリの大ファンで、過去に MVC プロジェクト以外で使用したことがあります。過去に、Lightbox2 はスクリプト、CSS、および画像が存在するパスについてうるさいことを覚えています。具体的には、ページのパスのサブディレクトリにすべてを配置する必要があることを覚えています。そうしないと機能しません。

非 MVC アプリケーションではそのアプローチは問題ありませんでしたが、今では MVC アプリケーションで作業していて、ページの URL がディレクトリ構造とは何の関係もないことに気付きました。したがって、次の指示に従って Lightbox2 にリンクします。

<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>

明らかに機能しません。

画像なしで、効果をもたらした JavaScript への絶対パスを入れてみました。私は、JavaScript がその画像がどこにあるかを「知って」おり、それらを見つけることができないのではないかと疑っています。

MVC 環境で Lightbox2 を使用して成功した人はいますか? おそらく、Lightbox2 をサブディレクトリ以外に展開することに成功しただけでしょうか?

ありがとう!

4

3 に答える 3

2

Lightbox は、次のような構造を想定していると思います。

/画像
    前のラベル.gif
    nextlabel.gif
    読み込み中.gif
    closelabel.gif
/css
    ライトボックス.css
lightbox.js

lightbox.js を開いて、以下を見つけることができます。

fileLoadingImage:        'images/loading.gif',     
fileBottomNavCloseImage: 'images/closelabel.gif',

そしてlightbox.cssで見つけます:

#prevLink:hover, #prevLink:visited:hover { background: url(../images/prevlabel.gif) left 15% no-repeat; }
#nextLink:hover, #nextLink:visited:hover { background: url(../images/nextlabel.gif) right 15% no-repeat; }

そして、あなたがそれを好きなようにしてください。

于 2008-10-20T03:32:20.813 に答える
-1

ここで話しているのは、どの MVC フレームワークですか? 私はその特定のライトボックス ライブラリに精通していませんが、サイトのルートにある絶対パスを介して JavaScript ファイルを参照する適切な方法を見つけ出すことを強くお勧めします。


<script type="text/javascript" src="/js/prototype.js">

それを機能させる方法を理解できれば、画像に関する問題を解決できると思います。

また、同じ JavaScript ファイルのコピーをサイト全体に散らばらせるのは良くありません。明らかな混乱の問題に加えて、ブラウザは同じファイルをキャッシュから読み取るのではなく、何度も何度もダウンロードする必要があります。これらのファイルは異なる URL にあるからです。

于 2008-10-20T03:30:13.873 に答える