Ergebnis 1 bis 9 von 9

Thema: Parsing Problem des <body> Tags?

  1. #1
    Contao-Nutzer
    Registriert seit
    07.08.2013.
    Beiträge
    39

    Standard Parsing Problem des <body> Tags?

    Hey Leute!

    Ich habe ein kleines Problem beim aktuellen 3.2er CONTAO und bin mir nicht sicher warum dieser Fehler auftritt.

    Konkret habe ich ein Theme angelegt, dass auf auf ein leicht modifiziertes "fe_page.xhtml" zugreift.

    Wenn die Seite ausgegeben wird, dann ist am Ende immer das Body-Tag beschädigt. Im fe_page.xhtml stimmt aber alles. Hat jemand eine Idee woher das kommen kann?

    fe_page.xhtml:
    Code:
    ...
      <?php if (!$this->disableCron): ?>
        <script type="text/javascript">
          /* <![CDATA[ */
          <?php if ($this->layout->addJQuery): ?>
            setTimeout(function(){jQuery.ajax("system/cron/cron.txt",{complete:function(e){var t=e.responseText||0;parseInt(t)<Math.round(+(new Date)/1e3)-<?php echo $this->cronTimeout; ?>&&jQuery.ajax("system/cron/cron.php")}})},5e3)
          <?php else: ?>
            setTimeout(function(){(new Request({url:"system/cron/cron.txt",onComplete:function(e){e||(e=0),parseInt(e)<Math.round(+(new Date)/1e3)-<?php echo $this->cronTimeout; ?>&&(new Request({url:"system/cron/cron.php"})).get()}})).get()},5e3)
          <?php endif; ?>
          /* ]]> */
        </script>
      <?php endif; ?>
    
    
    </body>
    </html>
    Ausgabe auf der Website:
    Code:
    ...
    <script type="text/javascript">
    /* <![CDATA[ */
    (function($) {
    	$(document).ready(function() {
    	    $("#caroufredsel_3").carouFredSel({
    circular: false, direction: "right", width: 1204, height: 476, align: false, onCreate: function(data) { data.items.addClass("visible"); }, items: { width: 1197, height: 476 }, scroll: { items: 1, fx: "crossfade", easing: "linear", onBefore: function(data) { data.items.old.removeClass("visible"); }, onAfter: function(data) { data.items.visible.addClass("visible"); } }, auto: { timeoutDuration: 3500 } }, { wrapper: { classname: "caroufredsel_wrapper caroufredsel_wrapper_3" } }		);
    	});
    })(jQuery);
    /* ]]> */
    </script>
    
          <script type="text/javascript">
          /* <![CDATA[ */
                  setTimeout(function(){jQuery.ajax("system/cron/cron.txt",{complete:function(e){var t=e.responseText||0;parseInt(t)<Math.round(+(new Date)/1e3)-86400&&jQuery.ajax("system/cron/cron.php")}})},5e3)
                /* ]]> */
        </script>
      
    
    body>
    </html>
    Man sieht ganz deutlich, dass das beim schließenden Body-Tag die spitze Klammer fehlt.

  2. #2
    Contao-Fan Avatar von joe
    Registriert seit
    20.06.2009.
    Ort
    Lüneburg
    Beiträge
    687
    User beschenken
    Wunschliste

    Standard

    Ich denke es wäre hilfreich wenn man sich die Seite einmal ansehen könnte
    Trainings und Coachings zur Fort und Weiterbildung sowie Beratung in den Bereichen Contao, JavaScript, jQuery, VueJS, React, PHP, NodeJS und vielen weiteren Themen.

    Mehr unter jgreg.dev

    Follow me on Twitter @JoeRayGregory

  3. #3
    Contao-Nutzer
    Registriert seit
    07.08.2013.
    Beiträge
    39

    Standard

    Zitat Zitat von joe Beitrag anzeigen
    Ich denke es wäre hilfreich wenn man sich die Seite einmal ansehen könnte
    Das ist leider nicht machbar. Die Seite darf nicht publik werden solange sie nicht fertig ist. :-)

    Ich habe nun ein <div class="clear"></div> in das fe_page.xhtml vor das kaputte Body-Tag gesetzt. Jetzt wird der Body richtig dargestellt. Wenn ich das DIV wieder entferne, ist das Body-Tag wieder kaputt. Sehr seltsam. Ich bin mir nicht sicher ob das aktuelle Contao hier nicht einen kleinen Bug hat... ;-)

  4. #4
    Contao-Fan Avatar von dhe
    Registriert seit
    25.10.2010.
    Ort
    Esslingen a.N.
    Beiträge
    657

    Standard

    tritt das Problem auch auf, wenn du die originale fe_page verwendest?

  5. #5
    Contao-Nutzer
    Registriert seit
    07.08.2013.
    Beiträge
    39

    Standard

    Zitat Zitat von dhe Beitrag anzeigen
    tritt das Problem auch auf, wenn du die originale fe_page verwendest?
    Das Problem tritt dann auf, wenn ich unter Templates das originale-Template verändere.

    So sieht das Template derzeit aus:

    Code:
    <?php echo $this->doctype; ?>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>">
    <head>
    
      <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $this->charset; ?>" />
      <title><?php echo $this->pageTitle; ?> - <?php echo $this->mainTitle; ?></title>
      <base href="<?php echo $this->base; ?>" />
    
      <meta name="robots" content="<?php echo $this->robots; ?>" />
      <meta name="description" content="<?php echo $this->description; ?>" />
      <meta name="keywords" content="<?php echo $this->keywords; ?>" />
      <meta name="generator" content="Contao Open Source CMS" />
      <meta http-equiv="Content-Style-Type" content="text/css" />
      <meta http-equiv="Content-Script-Type" content="text/javascript" />
    
      <?php echo $this->framework; ?>
      <?php echo $this->stylesheets; ?>
      <?php echo $this->mooScripts; ?>
      <?php echo $this->head; ?>
    
    </head>
    <body>
    <div id="wrap-box">
    <div id="bg">
    
    <!-- // HEADER // -->
    <?php if ($this->header): ?>
    <div id="wrapper-header">
          <div id="header">
            <div class="inside">
              <?php echo $this->header; ?>
            </div>
          </div>
    </div>
    <?php endif; ?>
    <!-- // HEADER // -->
    
    <!-- // SUJET // -->
    <?php if ($this->sections['sujet']): ?>
    <div id="wrapper-sujet">
      <div id="sujet">
    	<?php echo $this->sections['sujet']; ?> 
    	<div class="clear"></div>
      </div>
    </div>
    <?php endif; ?>
    <!-- // SUJET // --> 
    
    <!-- // MAIN // -->
    <div id="wrapper-main">
          <div id="main">
            <div class="inside">
              <?php echo $this->main; ?>
            </div>
          </div>
    </div>
    <!-- // MAIN // -->
    
    <!-- // FOOTER // -->
    <?php if ($this->footer): ?>
    <div id="wrapper-footer">
      <div id="footer">
          <?php echo $this->footer; ?>
      </div>
    </div>
    <?php endif; ?>
    <!-- // FOOTER // -->
    
    <?php echo $this->mootools; ?>
    <?php if (!$this->disableCron): ?>
    <script type="text/javascript">
    /* <![CDATA[ */
    <?php if ($this->layout->addJQuery): ?>
        setTimeout(function(){jQuery.ajax("system/cron/cron.txt",{complete:function(e){var t=e.responseText||0;parseInt(t)<Math.round(+(new Date)/1e3)-<?php echo $this->cronTimeout; ?>&&jQuery.ajax("system/cron/cron.php")}})},5e3)
    <?php else: ?>
        setTimeout(function(){(new Request({url:"system/cron/cron.txt",onComplete:function(e){e||(e=0),parseInt(e)<Math.round(+(new Date)/1e3)-<?php echo $this->cronTimeout; ?>&&(new Request({url:"system/cron/cron.php"})).get()}})).get()},5e3)
    <?php endif; ?>
    /* ]]> */
    </script>
    <?php endif; ?>
    
    <div class="clear"></div>
    </div>
    </div>
    </body>
    </html>
    Das ist laut meinem Wissensstand nix "böses" drinnen was das Problem verursachen könnte.

    Wenn ich das
    Code:
    <div class="clear"></div>
    </div>
    </div>
    vorm Body-Tag rausnehme, dann ist dieser wieder kaputt. Mir ist auch aufgefallen, dass ein ähnliches Problem auftritt, wenn ich im Template irgendwo eine "absolute URL" eingebe. Das dürfte dem Parser auch nicht schmecken.

    Ich habe auch nur folgende Erweiterungen installiert:
    - dk_caroufredsel
    - extendedSEO
    - jquery_easing
    - jquery_mousewheel
    - myfavicon

    Die können aber so ein Problem nicht verursachen oder?

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.163
    Partner-ID
    10107

    Standard

    Warum willst du diese Tags entfernen und damit absichtlich dein HTML invalid machen?

  7. #7
    Contao-Nutzer
    Registriert seit
    07.08.2013.
    Beiträge
    39

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Warum willst du diese Tags entfernen und damit absichtlich dein HTML invalid machen?
    Das HTML wird dadurch nicht "invalid", weil ich natürlich auch die öffnenden Tags der Container am Anfang der Seite entferne. :-)

    Mir gings nur darum, dass ich aufzeige wie das Problem entsteht. Ich bin mir auch nicht sicher ob das auf anderen "frischen" Installationen reproduzierbar ist.

    Fakt ist, dass der auftretende Fehler auf jeden Fall sehr eigenartig ist. Bei den letzten 10 Contao-Projekten ist mir so etwas noch nie untergekommen.

  8. #8
    Contao-Urgestein
    Registriert seit
    30.01.2011.
    Ort
    Stuttgart
    Beiträge
    4.138

    Standard

    am template liegt das nicht, ich habe das in der music-academy eingebaut und da bleibt der body wie er ist...

  9. #9
    Contao-Nutzer
    Registriert seit
    07.08.2013.
    Beiträge
    39

    Standard

    Zitat Zitat von magicsepp Beitrag anzeigen
    am template liegt das nicht, ich habe das in der music-academy eingebaut und da bleibt der body wie er ist...
    Danke! Dann werde ich das mal einer "nackten" Installation testen um das zu reproduzieren. Vielleicht ist auch eine Extension daran schuld.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •