2

如何将 Fancybox 安装到 DotNetNuke 中?我正在运行一个使用 DNN 6.2 的网站,需要将 iframe 内容放入灯箱。Fancybox 似乎是最好的选择,但如何安装呢?您是将文件上传到皮肤的文件夹还是网站的根文件夹?

4

2 回答 2

0

我在我的皮肤中加入了fancybox。步骤: 1.确保js和css由要使用fancy box的页面加载。2. 定义用于触发fancybox的锚点,在这种情况下,我还将fancybox的大小设置为动态的,以便内容管理器可以更改它。

jQuery(document).ready(function () {

    jQuery('a.mylightbox').each(function () {
        var dWidth = parseInt($(this).attr('href').match(/width=[0-9]+/i)[0].replace('width=', ''));
        var dHeight = parseInt($(this).attr('href').match(/height=[0-9]+/i)[0].replace('height=', ''));
        $(this).fancybox({
        'width': dWidth,
        'height': dHeight,
        'autoScale': false,
        'transitionIn': 'elastic',
        'transitionOut': 'elastic',
        'type': 'iframe',
        'scrolling': 'no'
        });
    });
});

接下来你调用你想在fancybox中加载的url:

<a class="mylightbox" href="/tabid/333/default.aspx?width=440&amp;height=650">my link text</a>

在这种情况下,我在我的站点中使用了本地页面。

于 2012-12-02T10:25:16.647 回答
0

我知道这个答案有点晚了:-)

DNN 有可能(从 DNN 7.2 开始)打包 JavaScript 库,然后将它们加载到代码中,或者通过

<%@ Register TagPrefix="dnn" TagName="JavaScriptLibraryInclude" Src="~/admin/Skins/JavaScriptLibraryInclude.ascx" %>
[...]
<dnn:JavaScriptLibraryInclude runat="server" Name="FancyBox" />

在 ascx 中,或

JavaScript.RequestRegistration("FancyBox")

在后面的 C# 代码中。

首先,您必须为 JavaScript 库创建一个包,这很容易做到。有关参考,请参见https://github.com/EngageSoftware/DNN-JavaScript-Libraries(如果您在那里找到所需的包,您可以使用它,但我没有看到 FancyBox)。

有关详细信息,请参阅https://www.dnnsoftware.com/wiki/javascript-libraries

快乐 DNN!
迈克尔

于 2019-03-19T15:24:32.917 回答