Zur Navigation

Javascripte auslagern

1 krieger98

Ich möchte diesen n einer js. Datei auslagern und die Funktion bei Bedarf aufrufen. Leider klappt das bisher nicht.
Was mache ich verkehrt?

function aenderung()
{modDate = document.lastModified
Tag=modDate.slice(3,5);
Monat=modDate.slice(0,2);
Jahr=modDate.slice(6,10);
modDate=" " + Monat + ". " + Jahr + " ";
document.write(modDate);}
</script>

Aufruf für die js. Datei:
<script language="javascript" type="text/javascript" src="aenderung.js"></script
Aufruf der Funktion:
<script type="text/javascript" language="JavaScript">
<!--aenderung()//-->
</script>

09.01.2015 13:55

2 Jörg Kruse

HTML-Tags wie "</script>" gehören nicht in eine JavaScript-Datei

Dem schließenden Tag fehlt ein ">":

<script type="text/javascript" src="aenderung.js"></script>

Jede Befehlszeile muss mit einem ";" abgeschlossen werden. Die "<!--", "//-->" solten in eine eigene Zeile untergebracht werden, oder noch besser ganz weg, weil Browser, die diese Kommentarzeichen benötigen, schon vor 15 Jahren ausgestorben sind; auch language="javascript" ist veraltet und würde ich bei der Gelegenheit gleich mit entsorgen:

<script type="text/javascript">
aenderung();
</script>

Falls der Aufruf weiter nicht wie gewünscht funktioniert, würde ich schauen, was die JavaScript-Konsole deines Browsers dazu sagt.

09.01.2015 17:12 | geändert: 09.01.2015 17:12

3 krieger98

<script type="text/javascript">
aenderung();
</script>

Wenn ich den obigen Code im Body einfüge wird das Datum nicht angezeigt:
Das Datum wird nur angezeigt wenn ich im Body folgendes direkt plaziere:
<script type="text/javascript" src="aenderung.js"></script>

09.01.2015 17:49

4 Jörg Kruse

OK, ein document.write() kann man wohl nicht auslagern - das muss direkt im HTML-Code stehen

Du könntest stattdessen document.getElementById() und innerHTML verwenden:

function aenderung()
{
modDate = document.lastModified;
Tag=modDate.slice(3,5);
Monat=modDate.slice(0,2);
Jahr=modDate.slice(6,10);
modDate=" " + Monat + ". " + Jahr + " ";
document.getElementById("mod_date").innerHTML = modDate;
}

im head Bereich:

<script type="text/javascript" src="aenderung.js"></script>

... und die Stelle, wo das Datum eingefügt werden soll:

<span id="mod_date"></span>
<script type="text/javascript">
aenderung();
</script>

09.01.2015 18:25

1 Forenmitglied fand diesen Beitrag gut

5 krieger98

Kann Ich diesen Javascript auch noch in der JS-Datei mit einbinden und als
Funktion auf die entsprechenden Seiten einbinden:
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-4192986-1', 'auto');
ga('send', 'pageview');

Was müsste geändert werden und wie sieht die Funktion aus?

09.01.2015 19:37

6 Jörg Kruse

Ich würde den Tracking-Code nicht auslagern, weil das Tracking dadurch verzögert würde

Eine detaillierte Erklärung (auf Englisch) liefern u.a. die Antwort von galambalazs sowie die Kommentare von Chase Wilson in diesem Thread auf stackoverflow.

10.01.2015 10:10

1 Forenmitglied fand diesen Beitrag gut

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]