我正在使用此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使用相同的模块,我比较了代码,但似乎无法弄清楚问题。
答案 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.Host
和Request.Url.Port
,您只需使用绝对路径,它就会回拨当前域。