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
    下一个标签.gif
    加载.gif
    关闭标签.gif
/css
    灯箱.css
灯箱.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 回答
0
<script src="~/LightBox/js/jquery.js"></script>

<script src="~/LightBox/js/jquery.lightbox-0.5.min.js"></script>

<a title="Title here" class="lightbox" href="~/LightBox/images/lightbox-btn-close.gif">click</a>



<script type="text/javascript">
    $(function () {
        $('a.lightbox').lightBox();//.lightBox(); // Select all links with lightbox class
    });
</script>
于 2015-02-18T10:15:25.770 回答
-1

我们在这里讨论的是哪个 MVC 框架?虽然我不熟悉那个特定的灯箱库,但我强烈建议您找出通过站点根目录中的绝对路径引用 javascript 文件的正确方法:


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

如果你能弄清楚如何让它工作,我敢打赌它会解决你的图像问题。

此外,在您的网站上到处乱扔相同的 javascript 文件的副本是个坏主意。除了明显的混乱问题之外,浏览器将不得不一遍又一遍地下载相同的文件,而不是从缓存中读取它们,因为它们位于不同的 URL。

于 2008-10-20T03:30:13.873 回答