完整日历窗口小部件未显示在浏览器

时间:2015-07-17 12:08:48

标签: jquery css calendar sitecore

我正在使用此https://marketplace.sitecore.net/en/Modules/SymSoft_Event_Calendar_Module.aspx用于sitecore,似乎无法显示日历。我在firebug中遇到错误TypeError:$不是来自此脚本的函数

<script type=text/javascript>
    $(document).ready(function ($) { 
         $('body').FullCalendarWidget('#maincontent_0_content_0_pnlCalendar',
         'http://devosinstitute.umd.edu:80/Ajax/Ajax.ashx?id=e7cbaa1a-c9e3-4aa9-90f8-d2e6baa41fd6&calendars=05120D6A-C8DE-42C1-861A-99C9162CC9B0',
         'prev,next', 
         'title', 
         'month,agendaWeek,agendaDay', 
          false,
          ''
    ); }(jQuery))
</script>

http://placer.ca.gov/EventCalendar.aspx对于sitecore使用相同的模块,我比较了代码,但似乎无法弄清楚问题。

1 个答案:

答案 0 :(得分:0)

self-executing anonymous function的范围和调用不正确,应该是这样的:

(function($){
    $(document).ready(function () {
            $('body').FullCalendarWidget('#maincontent_0_content_0_pnlCalendar',
            '/Ajax/Ajax.ashx?id=e7cbaa1a-c9e3-4aa9-90f8-d2e6baa41fd6&calendars=05120D6A-C8DE-42C1-861A-99C9162CC9B0',
            'prev,next',
            'title',
            'month,agendaWeek,agendaDay',
            false,
            ''
        );
    }
})(jQuery);

从您的评论中,似乎代码直接位于日历小部件面板之后,因此您不需要document.ready包装器,因为您保证该元素已存在。您也不需要Request.Url.HostRequest.Url.Port,您只需使用绝对路径,它就会回拨当前域。