• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] Mitteilung auf Website von Monat UND WebSite Titel abhängig erzeugen

McFire

New member
Hallo JS Gemeinde,

ich hab zwar in der Suche jede Menge Scripts gefunden, die bei Abfrage des Monats (o.a.) funktionieren.
Mein Problem ist - ich werde noch eine Weile eine Kunden-WebSite stehen haben, die vom Provider umbenannt wurde. Die Seite ist jetzt noch mit beiden URL aufrufbar (ohne Zusatzkosten).
Ich hätte gerne, daß die Abfrage von einem Stichtag verknüpft wird mit dem alten Namen und dann entweder ein alert auslöst oder noch besser eine Umleitung anbietet.

Standardfrage - geht das ? :)
 
Zuletzt bearbeitet von einem Moderator:
Es tut mir so leid, daß ich mit meiner Frage ein herz- und verstandschädigendes Blockieren des Sprachzentrums bewirkt habe, was gerade eben noch ein HÄ herausließ ;)

Also ich erkläre es nochmal, weil ich nicht ausschließen will, daß ich mich unpräzise ausgedrückt habe. Einen derartigen sachlichen Hinweis schlucke ich ohne Protest ;)

Ich habe auf Kundenwunsch beim Provider eine Änderung des WebSite-Namens beantragt. Der Provider hat entgegenkommenderweise die WebSite mit dem alten und dem neuen Namen zugleich zugänglich gemacht, gibt für den Kunden somit keine Zusatzkosten, da ja auch keine neuen Inhalte dazukamen.

Die Seite ist jetzt also noch mit beiden URL aufrufbar, bis zum turnusmäßigen Bezahldatum.
Das dauert noch ein Weilchen.

Ich hätte nun gerne, daß ich schon vorher vorher eine js-Abfrage einfügen kann, mit der ein Datum/Stichtag verknüpft wird mit dem alten Namen. Nur das Zusammentreffen von einem bestimmten Datum gleichzeitig mit dem vorherigen Namen der Website (der ja beim Aufruf per altem Link oben in der Adresszeile erscheint) soll mit dem Script erkannt werden und dadurch etwas auslösen. Zum Beispiel halt dann ein Alert. Oder falls möglich eine Umleitung anbieten. Aber ein Alert mit 'nem Hinweis würde schon genügen.

Ein Alert per Datumsabfrage auslösen und die Anzeige dieses Datums usw. klappt ja, aber das vom Seitennamen abhängig zu machen ist für mich als Gelegenheitsnutzer von js nicht lösbar :(
 
OK - jetzt ist es klarer, wobei ich mir noch nicht ganz sicher bin, ob du an einer Stelle nicht einen Denkfehler hast.

Aber alles der Reihe nach.

Was du machen willst, ist mit JS machbar - auch wenn ich Weiterleitungen auf eine andere URL prinzipiell immer auf dem Server steuern würde. Da hat man einfach mehr Kontrolle (z.B. den richtigen HTTP-Header mitsenden).
Den Domainnamen per JS abzufragen ist trivial, wenn man weiß, wie: location.host.
Code:
if (location.host === "forum.jswelt.de"){
	alert("JS-Forum");
}

Jetzt zu deinem eventuellen Denkfehler: was ist denn der Stichtag, nachdem die Weiterleitung starten soll? Das Datum, nachdem die Seite nicht mehr über die alte Domain erreichbar ist? Dann ist aber die Seite darüber ja auch nicht mehr erreichbar und kann keine Inhalt und somit auch kein JS ausliefern, dass die Weiterleitung auslöst...
Wie gesagt: mach' das ganze auf dem Server und sende jetzt schon https://en.wikipedia.org/wiki/HTTP_301 - mehr kannst du eigentlich nicht machen... außer natürlich alle Links, die auf die Seite verweisen, anzupassen, so dass die neue Domain verwendet wird.
 
Hallo,
ja das wär freilich nicht sinnvoll, den Stichtag auf das Auslaufdatum zu legen.
Aber es sind mittlerweile ca 14 Tage vergangen, jeder müßte inzwischen die Benachrichtigung haben. Also könnte ich, sobald das Script funktioniert, es einsetzen. Das Ablaufdatum dagegen ist noch eine Weile hin.

Nun müßte man dieses hier...
Code:
if (location.host === "forum.jswelt.de"){
	alert("JS-Forum");
}
noch mit dem entspr. Datum verknüpfen, um damit ein Alert auszulösen. Das dunkelt den Rest der Seite ab und könnte die Info über die Umbenennung enthalten. Ich glaube, eine Umleitung wäre vlt garnicht nötig.

Aber es erscheint die Info eben nur da, wo nötig und nicht auch beim neuen Titel.

PS: Die Umbenennung war nötig, weil der Schwerpunkt des Seiteninhalts anders gelegt und gezeigt werden soll.
 
Ja, das habe ich schon drin, das ".... Seite wird demnachst umbenannt....". Aber es schien mir halt so "unelegant" , daß das natürlich auch auf der "neuen" Seite erscheint - die ja den neuen Titel oben schon zeigt. Denn den Code auf dem Server gibts ja nur einmal.

Naja wenns nicht geht, laß ichs halt noch ein paar Tage und nehms dann in einen Hinweis-Button. Ich will da durchaus Aufwand und Nutzen sehen und akzeptieren.
 
Jo, das sieht so aus ---

HTML:
<script type="text/javascript"> 
var signal = new Date();
var monat = signal.getMonth(); 
if (monat = 1) { alert("Februar"); }
document.write("► " + monat);   // Nur Test, ohne Umwandlung

if (location.host === "hoywoy-buechermix.de")  { alert("Neuer Name xxx"); }  
else {alert("Aber NIX");}     // nur zum Test 
</script>

Da hab ich eine Test-Seite liegen
 
Zuletzt bearbeitet von einem Moderator:
Jo, das sieht so aus ---
Das sieht aber falsch aus... = ist eine Zuweisung und kein Vergleich. Somit wird in monat immer 1 drin stehen - auch im März.

Im Grund genommen willst du so etwas haben:
Code:
var date1 = new Date(2017, 1, 10);
var date2 = new Date(2017, 1, 20);
var now = Date.now();

if (location.host === "forum.jswelt.de"){
	if (date1.getTime() < now){
		alert("date 1 vorbei");
	}
	if (date2.getTime() < now){
		alert("date 2 vorbei");
	}
}

PS: document.write() solltest du du nicht verwenden.

Zu document.write:
http://www.w3.org/html/wg/drafts/html/CR/webappapis.html#dynamic-markup-insertion schrieb:
This method has very idiosyncratic behavior. In some cases, this method can affect the state of the HTML parser while the parser is running, resulting in a DOM that does not correspond to the source of the document (e.g. if the string written is the string "<plaintext>" or "<!--"). In other cases, the call can clear the current page first, as if document.open( ) had been called. In yet more cases, the method is simply ignored, or throws an exception. To make matters worse, the exact behavior of this method can in some cases be dependent on network latency, which can lead to failures that are very hard to debug. For all these reasons, use of this method is strongly discouraged.
 
Ja das zweite = ist wohl beim herumschreiben verschwunden.
d.write hatte ich nur mal zum Testen.

Ich habe dann mal die var lhx dazugeschrieben als "Umwandlungsplatz".
Beim Testen stellte sich dann heraus - es wird doch das www mit ausgelesen und somit zum Vergleich gebraucht. Damit ging es. Ohne lhx jedoch nicht.

Habe dann auch gleich den "alten" Namen reingenommen.
Alter_Name
Ich denke mal, daß ich das noch als function declariere, damit ich es in ein form input oder einen Button schreiben kann. Da kann man dann mit CSS etwas aufhübschen...

Also Danke[SUP]3[/SUP] ! :)

McFire
 
Zuletzt bearbeitet:
es wird doch das www mit ausgelesen
Da steht immer die komplette Domain drin. Wenn jemand deine Seite ohne "www." am Anfang aufruf, was auch funktioniert, bekommt er die Meldung nicht: ohne www
Damit das auch bei allen Unterdomains funktioniert, müsstest du per RegExp oder STRING.substring() einfach prüfen, ob location.host entsprechend endet.

Da kann man dann mit CSS etwas aufhübschen...
Was willst du aufhübschen? Ein alert() kann man nicht verändern... du müsstest dann eine Ausgabe über DOM-Elemente realisieren.
 
Ja, jetzt hab ich das ja gesehen. Aber bei Deinen Beispielen war nie ein www vorndran, also habe ich gedacht, das ist Absicht. Zumal ich es ja vom FTP auch so kenne, daß der Name "pur" verlangt wird. Also war Dein Beispiel für mich ok und bindend. Bis ich mir dann dachte "Da werd ich doch mal schaun......"

Was das aufhübschen betrifft - ich schrieb ja
damit ich es in ein form input oder einen Button schreiben kann.
Naja hab ich inzwischen fertig. Das hat auch den Vorteil, daß ich es dann über Menüpunkte legen kann, die nicht mehr zugänglich sein sollen und /oder weitere Seiten ansteuern, aber die Seite trotzdem noch erkennbar ist.
 
Zurück
Oben