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.