Orchard CMS 1.4:将javascript添加到特定内容,例如页面

时间:2012-06-25 21:26:05

标签: orchardcms

假设我想使用lightbox jquery插件向页面添加图片库。

问题:

如何添加灯箱脚本?当然,我可以将它添加到我的主题的layout.cshtml文件中,但是每个页面都需要灯箱脚本,即使它不使用它。

然后我需要将以下脚本添加到页面中:

<script type="text/javascript">

        $(function () {

            $('#photoGallery a').lightBox({ fixedNavigation: true });

        });

</script> 

同样,我可以将它添加到layout.cshtml文件中,但最好将其添加到页面中。好的,所以我可以为该页面创建一个图层并将一个html小部件添加到页脚区域,但肯定有更好的方法吗?

2 个答案:

答案 0 :(得分:3)

您可以使用模块库中可用的众多图库模块之一并完成它。但是如果你想手动完成它,那么恐怕你必须手动完成它,是的;)但是即使使用特殊的图层和小部件似乎也很复杂:如果你要沿着这条路走下去,为什么不呢?你只是把那个脚本放在页面标记内(来自编辑器)?

答案 1 :(得分:1)

如果您只需要根据元素或元素集的存在加载脚本,我会这样做:

function LazyLoadScripts() {
    if ($('#photogallery').length > 0) {
        $('<script src="path-to-script" type="text/javascript"></script>').appendTo('body');
        window.setTimeout("$('#photoGallery a').lightBox({ fixedNavigation: true });", 1);
    }
    /* load any other scripts here in the same way */
}
$(document).ready(function() { LazyLoadScripts(); });

现在您可以将其插入到布局中,或者如果您倾向于代码,则可以为BodyPart创建新的驱动程序并使用新形状插入此脚本。您还需要将该形状放入头部或尾部区域。

相关问题