Hallo und ein Gutes, Neues Jahr!
Ich habe folgendes Problem: in einer Extension verwende ich relativ viel JavaScript. Nun sollte zwischen den <head>-Tags das Java-Script eingebunden werden. Dies ist ja zwar mittels TS möglich, ist es aber auch möglich, im PHP-Code etwas in den Head zu schreiben?
Und: Auch den Body-Tag kann man im TS verändern, soviel ich gesehen habe aber nur als ganzes setzen. Kann ich im PHP-Coder der Extension zusätzliches in den <body>-Tag schreiben? Konkret wäre das was in der Art <body bonload="js_gall_cache(id32);" b=""> oder so...
Vielen Dank, Edi
erst einmal kann ich dir nur empfehlen Bilder nicht vorzuladen. Ist nicht grade sinn der Barrierefreiheit...
Dann gehört Javascript im normalfall nicht in den head sondern in js, dateien , damit die Seite schneller und schlanker wird/bleibt. Hiermit kannst du in deiner Extension dann in den head zusätzliche dateien einbinden:
// Initzialisiert eine Javascript oder css Datei in Typo3
function initHeaderFile($file, $type, $title='Normal', $media=false, $overwrite=true){
$id = 'file_'.substr(md5($file),0,15);
$in = ($type == 'js')?'<script src="'.$file.'"></script>':'<link rel="stylesheet" type="text/css" href="'.$file.'" title="'.$title.'"'.(($media)?' media="'.$media.'"':'').' />';
if($overwrite OR !isset($GLOBALS['TSFE']->additionalHeaderData[$id])){
$GLOBALS['TSFE']->additionalHeaderData[$id] = $in;
return true;
} else
return false;
} // function - initHeaderFile
beispiel
$this->initHeaderFile('odern/ordner/datei.js', 'js');