Layout der Seite einstellen...
Fragemensch
- design/layout
Hi,
nehmen wir einmal an, ich hab auf einer "Teilpage" meiner Seite ein paar Einstellungsmöglichkeiten, die z.B. Hintergrundfarbe, Hintergrundfarben in Tabellen oder den Sound betreffen (d.h. man kann wählen z.B. Hintergrundfarbe Rot, als Sound ein Lied von Queen, o.ä.).
Wie schaffe ich dann, das diese Angaben auf die ganze Seite übernommen werden (wennmöglich ohne Cookies, ich hätte aber auch gerne eine Lösung alternativ mit Cookies))?
Hallo,
Wie schaffe ich dann, das diese Angaben auf die ganze Seite übernommen werden (wennmöglich ohne Cookies, ich hätte aber auch gerne eine Lösung alternativ mit Cookies))?
dazu mußt Du dann mit Session-ID's arbeiten. Wie genau das aussieht,
hat stark von den vorhandenen Möglichkeiten ab. Was *theoretisch"
auch eine Möglichkeit wäre:
Anhand der User-Agent-Kennung und der IP versuchen, die Session
einem bestimmten Besucher zuzuordnen. Es versteht sich von selbst,
dass diese Variante sehr fehleranfällig ist, aber theoretisch zu-
mindest sollte es ja umsetzbar sein?
Wenn Du möchtest, dass die Besucher auch bei späteren Besuchen ihre
Wunscheinstellungen vorfinden, dann mußt Du auch noch einen Login
einbauen oder eben doch Cookies verwenden.
Übrigens glaube ich nicht, dass derartige Einstellmöglichkeiten sehr
sinnvoll sind, abgesehen vielleicht von sehr herausragenden Websites.
Viele Grüße,
Stefan
Hallo!
Wie schaffe ich dann, das diese Angaben auf die ganze Seite übernommen werden (wennmöglich ohne Cookies,
Ohne Cookies nur, wenn der User sich bei jedem Seitenbesuch identifiziert. Du hast die Einstellungen in einer DB/Textdatei abgelegt und kannst die spezifischen Einstellungen laden bzw. die Seite verändern.
Der User könnte sich auch ein Link in die Bookmarks legen, mit einem Query der sein Usernamen enthält.
http://www.seite.de/seite.pl?user=Fragemensch
Den Link mußt Du für den User natürlich generieren und ihn auffordern, in die Bookmarks/Favoriten zu übernehmen.
ich hätte aber auch gerne eine Lösung alternativ mit Cookies))?
Du setzt den Cookie, wenn der User seiner Einstellungen angegeben hat. In dem Cookie, legst Du den Usernamen ab. Du solltest einen Usernamen vergeben, falls der User seine Cookies löscht. Du kannst dann dem User die Möglichkeit geben, mit einem einlogen den Cookie wieder neu zu setzen.
Kommt der User auf die Seite, liest Du den Cookie aus und änderst das Seitenlayout.
Wie Du das nun alles machen kannt, hängt davon ab, was Dir zur Verfügung steht.
-> ASP, Perl, PHP, JSP etc.
MfG, André Laugks
Hi,
nehmen wir einmal an, ich hab auf einer "Teilpage" meiner Seite ein paar Einstellungsmöglichkeiten, die z.B. Hintergrundfarbe, Hintergrundfarben in Tabellen oder den Sound betreffen (d.h. man kann wählen z.B. Hintergrundfarbe Rot, als Sound ein Lied von Queen, o.ä.).
Wie schaffe ich dann, das diese Angaben auf die ganze Seite übernommen werden (wennmöglich ohne Cookies, ich hätte aber auch gerne eine Lösung alternativ mit Cookies))?
Okay, nun sieht die Sache so aus:
Die Page beginnt mit einer Startseite, dort gibt es 3 Einstellungsmöglichkeiten: Hintergrundfarbe, Tabellenhintergrundfarbe und Musik. Je nachdem wie man sich entscheidet wird die HP, die man nach den Einstellungen betritt entsprechend umgestaltet, was gibt es da für einfache Möglichkeiten (egal wie umständlich) ???
Hallo!
was gibt es da für einfache Möglichkeiten (egal wie umständlich) ???
Da wiederspricht sich was.
Das geht von Einstellungen in einer Textdatei bis hin zu DB speichern. Du wirst Dich mit einer Programmiersprache auseinader setzen müßen.
Du könntest in Scriptarchiven schauen, ob des schon fertige Lösungen gibt.
MfG, André Laugks
Hallo!
was gibt es da für einfache Möglichkeiten (egal wie umständlich) ???
Da wiederspricht sich was.
Das geht von Einstellungen in einer Textdatei bis hin zu DB speichern. Du wirst Dich mit einer Programmiersprache auseinader setzen müßen.
Du könntest in Scriptarchiven schauen, ob des schon fertige Lösungen gibt.
MfG, André Laugks
Ich dachte, das sich das vielleicht mit JavaScript machen lässt, da ich bisher in meinen Versuchen immer nur erreicht habe, das man die Hintergrundfarbe einer "Teilseite" auswählen kann, aber nicht, das sich das auf die ganze Seite auswirkt. Dann sah dann so aus:
<HTML> <BODY>
<FORM NAME="farbe">
<select name="schema" onChange="document.bgColor = this.options selectedIndex].value">
<option value="FFFFFF" selected>weiss
<option value="0000FF">blau
<option value="A0A0A0">grau
<option value="E9E900">gelb
<option value="A0A0FF">lila
<option value="C70000">ziegelrot
<option value="FFFFA0">braun
<option value="F0F0FA">silber
<option value="FF00FF">rosa
<option value="00FFFF">hellblau
</select>
</FORM>
</BODY> </HTML>
Hallo.
<select name="schema" onChange="document.bgColor = this.options selectedIndex].value">
=> <select name="schema" onChange="document.bgColor = this.options[this.selectedIndex].value">
Du könntest die Einstellungen als search query übergeben, per JavaScript auslesen[1] und dann während des Renderns der Seite per document.write() einbinden[2].
Gruß
Norbert
[1]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
<!--
function asq() // add search query
{
bgc = "#ffffff"; // background color
fgc = "#000000"; // foreground color
if(window.location.search != "" && window.location.search != "?")
{
p = window.location.search.substring(1,window.location.search.length).split("&");
bgc = (p[0] != "undefined") ? "#" + unescape(p[0]) : bgc;
fgc = (p[1] != "undefined") ? "#" + unescape(p[1]) : fgc;
for(i = 0; i < document.links.length; i++)
{
document.links[i].href = document.links[i].href + "?" + p[0] + "&" + p[1];
}
}
}
//-->
</script>
</head>
<body onload="asq()">
<a href="link.html">linktext</a><br>
<a href="link.html">linktext</a>
</body></html>
[2]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
<!--
bgc = "#ffffff"; // background color
fgc = "#000000"; // foreground color
if(window.location.search != "" && window.location.search != "?")
{
p = window.location.search.substring(1,window.location.search.length).split("&");
bgc = (p[0] != "undefined") ? "#" + unescape(p[0]) : bgc;
fgc = (p[1] != "undefined") ? "#" + unescape(p[1]) : fgc;
}
//-->
</script>
</head>
<noscript>
<body bgcolor="#ffffff" text="#000000">
</noscript>
<script type="text/javascript">
<!--
document.open("text/html");
document.write("<body bgcolor="" + bgc + "" text="" + fgc + "">")
document.close();
//-->
</script>
<h1>BUH!</h1>
<a href="?cc0000&0000ff">roter Hintergrund und blauer Text</a><br>
<a href="?00cc00&000000">grüner Hintergrund und schwarzer Text</a>
</body></html>
Hallo nochmal.
Im ersten Script werden eigentlich nur die Links entsprechend angepasst. Das konnte ich im zweiten nur nicht einbaun, weil dann die "Demonstrations-Links" nicht mehr funktioniert hätten. Also insgesamt sollte es so aussehn[1]. Is natürlich nicht an das angepasst, was du willst, aber vielleicht hilft es dir ein wenig weiter.
Gruß
Norbert
[1]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
<!--
bgc = "#ffffff"; // background color
fgc = "#000000"; // foreground color
if(window.location.search != "" && window.location.search != "?")
{
p = window.location.search.substring(1,window.location.search.length).split("&");
bgc = (p[0] != "undefined") ? "#" + unescape(p[0]) : bgc;
fgc = (p[1] != "undefined") ? "#" + unescape(p[1]) : fgc;
window.onload = asq;
}
function asq() // add search query
{
if(window.location.search != "" && window.location.search != "?")
{
for(i = 0; i < document.links.length; i++){document.links[i].href = document.links[i].href + "?" + p[0] + "&" + p[1]}
}
}
//-->
</script>
</head>
<noscript><body bgcolor="#ffffff" text="#000000"></noscript>
<script type="text/javascript">
<!--
document.open("text/html");
document.write("<body bgcolor="" + bgc + "" text="" + fgc + "">");
document.close();
//-->
</script>
<h1>BUH!</h1>
<a href="link.html">Linktext</a><br>
<a href="link.html">Linktext</a><br>
<a href="link.html" onclick="location.search = '?cc0000&ffffff'; return false">roter Hintergrund und weißer Text</a><br>
<a href="link.html" onclick="location.search = '?00cc00&000000'; return false">grüner Hintergrund und schwarzer Text</a>
</body></html>
Hallo nochmal.
Im ersten Script werden eigentlich nur die Links entsprechend angepasst. Das konnte ich im zweiten nur nicht einbaun, weil dann die "Demonstrations-Links" nicht mehr funktioniert hätten. Also insgesamt sollte es so aussehn[1]. Is natürlich nicht an das angepasst, was du willst, aber vielleicht hilft es dir ein wenig weiter.
Gruß
Norbert
[1]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
<!--
bgc = "#ffffff"; // background color
fgc = "#000000"; // foreground color
if(window.location.search != "" && window.location.search != "?")
{
p = window.location.search.substring(1,window.location.search.length).split("&");
bgc = (p[0] != "undefined") ? "#" + unescape(p[0]) : bgc;
fgc = (p[1] != "undefined") ? "#" + unescape(p[1]) : fgc;
window.onload = asq;
}
function asq() // add search query
{
if(window.location.search != "" && window.location.search != "?")
{
for(i = 0; i < document.links.length; i++){document.links[i].href = document.links[i].href + "?" + p[0] + "&" + p[1]}
}
}
//-->
</script>
</head>
<noscript><body bgcolor="#ffffff" text="#000000"></noscript>
<script type="text/javascript">
<!--
document.open("text/html");
document.write("<body bgcolor="" + bgc + "" text="" + fgc + "">");
document.close();
//-->
</script>
<h1>BUH!</h1>
<a href="link.html">Linktext</a><br>
<a href="link.html">Linktext</a><br>
<a href="link.html" onclick="location.search = '?cc0000&ffffff'; return false">roter Hintergrund und weißer Text</a><br>
<a href="link.html" onclick="location.search = '?00cc00&000000'; return false">grüner Hintergrund und schwarzer Text</a>
</body></html>
Funktioniert nicht (unter IE 4)
Hallo.
Funktioniert nicht (unter IE 4)
Kann sein, dass er document.links[i].href nicht kennt.
Gruß
Norbert
Hallo!
Ich dachte, das sich das vielleicht mit JavaScript machen lässt, da ich bisher in meinen Versuchen immer nur erreicht habe, das man die Hintergrundfarbe einer "Teilseite" auswählen kann, aber nicht, das sich das auf die ganze Seite auswirkt. Dann sah dann so aus:
Mit JavaScript kannst Du ein Cookie setzen. Den setzt Du wenn der User sich etwas aussucht und liest den Cookie auf jeder Seite aus.
http://selfhtml.teamone.de/javascript/objekte/document.htm#cookie
MfG, André Laugks