TYPO3 Romania, Magento, eCommerce, webdesign, content management systems

SWFobject + IE6. Erori afişare animaţie/meniu Flash

Dacă Internet Explorer 6 generează o eroare de genul: Pagina nu poate fi deschisă + "Operation Aborted" şi folosiţi un meniu/animaţie flash + SWFobject în instalaţia TYPO3, atunci totul e probabil generat de tagul <base> folosit în headul paginii.

Soluţia? În loc de
<base href="http://situlmeu" />
folosiţi
<base href="http://situlmeu" ></base>

Mai multe informaţii puteţi citi pe pagina FAQ a proiectului SWFobject. http://code.google.com/p/swfobject/wiki/faq, punctul 4: How do I prevent Internet Explorer from crashing and showing an "Operation Aborted" error when a <base> tag is defined?

Cum aplicaţi modificarea? Modalităţile sunt multiple. Eu am schimbat următoarea linie în class.tslib_pagegen.php:

        if ($GLOBALS['TSFE']->baseUrl) {
            $GLOBALS['TSFE']->content.='
    <base href="'.htmlspecialchars($GLOBALS['TSFE']->baseUrl).'" />';
        }

cu aceasta:

        if ($GLOBALS['TSFE']->baseUrl) {
            $GLOBALS['TSFE']->content.='
    <base href="'.htmlspecialchars($GLOBALS['TSFE']->baseUrl).'" ></base>';
        }

Logic, nu? Dacă nici asta nu rezolvă problema, citiţi şi celelalte puncte din FAQ. Care ar fi alte modalităţi? Să creaţi o extensie pentru lucrul acesta, în care să adăugaţi şi alte patch-uri de care aveţi probabil nevoie. Să adăugaţi suport TypoScript pentru modificări, etc...

Update: Am găsit 2 postări pe această temă în bug trackingul TYPO3:

http://bugs.typo3.org/view.php?id=6301 (aici prezintă şi soluţia mea de mai sus)

http://bugs.typo3.org/view.php?id=9462 (prezintă şi o soluţie mai elegantă în typoscript, care face schimbările doar pentru ie6, restul raman la fel şi valide xhtml)

cod typoscript:

[browser= msie] && [version= <7]
config.baseURL >
page.headTag = <head><base href="http://paginamea/"></base>
[else]
config.baseURL = http ://paginamea/
[global]