代码之家  ›  专栏  ›  技术社区  ›  Elad Karni

完整日历显示,无css或任何错误

  •  1
  • Elad Karni  · 技术社区  · 7 年前

    因此,我正在尝试在我的网站上安装完整的日历,在发布了一些问题后,我成功地达到了一个没有错误但日历本身没有正确显示的程度(就像它没有css一样)。

    我检查过了,据我所知,所有需要引用的文件都是。

    任何帮助都将不胜感激!

       <!DOCTYPE html><head>    <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
        <meta name="description" content="">
        <meta name="author" content="">
    
        <!-- Bootstrap core CSS -->
        <link href="src/bootstrap/css/bootstrap.min.css" rel="stylesheet">
    
    
    
    <!-- FullCalender files references -->
    <script src="src/jquery.js"></script>
    <script src='src/moment.min.js'></script>
    <script src='src/fullcalendar.min.js'></script>
    <script src="src/gcal.js"></script>
    
    <!-- Custom styles for this template -->
    <link href="components/style.css" rel="stylesheet">
    <link src="src/fullcalendar.min.css" rel="stylesheet">
    <link src="src/fullcalendar.print.css"  rel="stylesheet">ipt>
    
        <script>
            $(document).ready(function() {
                $('#calendar').fullCalendar({
                    googleCalendarApiKey: 'KEY',
                    events: {
                        googleCalendarId: 'ID@group.calendar.google.com'
                    }
                });
            });
        </script><title>Western PA ARML</title></head>    <nav class="navbar navbar-inverse">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              <a class="navbar-brand" href="index.html">Western PA ARML</a>
            </div>
            <div id="navbar" class="collapse navbar-collapse">
              <ul class="nav navbar-nav">
                <!--<li><a href="index.html">Home</a></li> -->
                <li><a href="calendar.html">Calendar</a></li>
                <li><a href="join.html">Join the Team</a></li>
                <li><a href="coaches.html">People</a></li>  
                <li><a href="archive.html">Archive</a></li>
                <li><a href="links.html">Links</a></li>
                <li><a href="about.html">About</a></li>
                <!--<li><a href="pictures.html">Photos</a></li>-->
              </ul>
            </div><!--/.nav-collapse -->
          </div>
        </nav>
      <body>
          <div id="content"><div class="section">
        <h1>Calendar</h1>
    
        <div id='calendar'></div>
    </div>  </div> <!--Content-->
        <div class="footer">
        &#9400; 2017 Western Pennsylvania ARML Team
      </div>
    
        <!-- Bootstrap core JavaScript
        ================================================== -->
        <!-- Placed at the end of the document so the pages load faster -->
        <script src="src/bootstrap/js/bootstrap.min.js"></script>
        <!-- IE10 viewport hack for Surface/desktop Windows 8 bug 
        <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script>-->
      </body>
    </html>
    

    这就是它的样子- How the Calendar looks enter image description here

    2 回复  |  直到 7 年前
        1
  •  2
  •   ADyson    7 年前

    您的代码存在一些问题(从原始编辑到当前版本):

    1) 您需要确保CSS和JS文件都基于同一版本的fullCalendar,并且jQuery和momentJS文件是兼容的版本,并且以正确的顺序加载(请参阅 https://fullcalendar.io/support/ https://fullcalendar.io/docs/usage/ 分别)。

    2) 不要使用fullCalendar。io作为CDN。使用推荐的CDNJS站点(根据 https://fullcalendar.io/download/ )或者自己下载并托管文件。

    3) <script>window.jQuery || document.write('<script src="src/jquery.js"><\/script>')</script> 似乎是多余的,因为您已经在上面包含了jQuery。

    4) gcal.js 需要加载 之后 fullCalendar.js ,因为它依赖于它才能正常工作。

    5) 我意识到你 <link> 标记指定不正确。您需要将URL放在“href”属性中,而不是“src”(用于脚本标记)。看见 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link fpr规范。

    6) 您正在将“打印”CSS和常规CSS都加载到代码中,但“打印”样式将覆盖常规样式(因为它稍后加载)。您需要将媒体查询放在“打印”查询中,以确保它仅在用户尝试打印页面时使用。例如

    <link href="src/fullcalendar.print.css" rel="stylesheet" media="print">
    

    其他补充意见:

    1) 您不需要jQuery UI来实现这一点,页面上的其他任何东西似乎都无法使用它,因此您可以删除它。

    2) 您有HTML,它位于 <head> <body> 标签。这是无效的。你想显示的任何东西都应该在里面 <车身(>); . 许多浏览器可能可以容忍这个问题,但它是凌乱的、技术上无效的HTML,所以您不能 预料 它总是能正常工作。

        2
  •  -1
  •   Alessio Libardi    7 年前

    您将css放置在错误的位置。

    <link href="components/style.css" rel="stylesheet">
    <link src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.8.2/fullcalendar.min.css" rel="stylesheet">
    <link src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.8.2/fullcalendar.print.css"  rel="stylesheet">
    

    这样放置代码将导致外部css资源覆盖自定义css。

    而是这样放置:

    <link src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.8.2/fullcalendar.min.css" rel="stylesheet">
    <link src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.8.2/fullcalendar.print.css"  rel="stylesheet">
    <link href="components/style.css" rel="stylesheet">