Natives Javascript mit php in Templates einbinden
Die Doku zu Javascript hat sich bei 5.1 leicht geändert .
Wer diese Skripten nicht direkt in das Template einbinden will, kann sie auch in einer zur template.php parallelen settings.php eintragen.
- Die Javascript - Konsole - ihr Aufruf (Firefox : CTRL-Shift-K ; Chrome : CTRL-Shift-J ; Opera : CTRL-Shift-I; Safari : Cmd - Opt - C )
- Js- Debugging - W3C
- Firefox - Javascript-Debugger (evtl. Hambrger -> Weitere Werkzeuge -> Werkzeuge für Webentwicklung)
- Die Jquery - Api
- Stackoverflow und Jquery
- Json - Formatter
<?php global $page, $config; $path = $page->theme_dir.'/drop_down_menu.php'; include_once($path); // php aus Templateverzeichnis ist eingebunden echo $path ; // H:/xammp7025/htdocs/type51/themes/btheme/drop_down_menu.php -- PHP
A. js eines Template aus dessen Unterverzeichnis /js einbinden :
$page->head_js[] = dirname($page->theme_path) . '/js/script.js';
Ein neuerer und besserer Standard ist
$page->head_js[] = rawurldecode($page->theme_path).'/js/script.js';
B. Für Scripte :
$page
->head .=
'<script>alert("hello world")</script>'
;
C. Für externe Js-Skripte >:
D. Javascripte für Kompatibibilität mit älteren Browsern (im Head!) :
<!--[if lt IE 9]><?php // HTML5 shim, for IE6-8 support of HTML5 elements gpOutput::GetComponents( 'html5shiv' ); gpOutput::GetComponents( 'respondjs' ); ?><![endif]-->
Dieses Laden verzögert allerdings das Laden.
E. Ladbare Komponenten
<?php common::LoadComponents( 'bootstrap3-js' ); gpOutput::GetHead(); ?>
common::LoadComponents('bootstrap3-all');
lädt alle bootstrap-3 Komponenten. Für die entsprechenden Javascripts :
\gp\tool::LoadComponents(
'fontawesome,respondjs,bootstrap3-js'
);
F. Einen php-Befehl mit > Javascript ausführen ...( statt mit php )
let pi = document.createProcessingInstruction('php', 'echo "Hallo Welt";');
function externalLinks() { for(var c = document.getElementsByTagName("a"), a = 0;a < c.length;a++) { var b = c[a]; b.getAttribute("href") && b.hostname !== location.hostname && (b.rel = "nofollow noopener") } } ; externalLinks();
- Javascript - Kursus bei mediaevent
- Clock widget/plugin with timezone ( Demo )
- Für den Apache mit mod_pagespeed gibt es einen Eintrag . Manche CMSe wie Typo3 vertragen das mod nicht. Dann hilft der Eintrag :
<IfModule pagespeed_module> ModPagespeed off </IfModule>
Typesetter hat allerdings schon einen unter "Einstellungen" aktivierbaren eingebauten Javascript_Minifier.
Mod_deflate zippt die übertragenen Daten ebenfalls noch weiter.