intelligenter Backbutton

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
albert
Posts: 526
Joined: Sun Mar 07, 2010 8:01 pm
Location: Germany
Contact:

intelligenter Backbutton

Post by albert » Sun May 07, 2017 1:58 pm

Hallo,
ich möchte mal wieder ein Bißchen basteln und brauche Hilfe...

Ich verwende ja gern diesen "Zurück-button" im Content, z.B. auf Detailseiten von Shop-Artikeln, wobei der Button dann wieder auf den zuvor angesehenen Shop-Artikel führt:

Code: Select all

<p style="text-align: left;"><img style="float: right;" title="zurück zur vorigen Seite" onclick="history.back()" onmouseover="this.src='./userfiles/images//zurueck-hover.png';" onmouseout="this.src='./userfiles/images//zurueck-button.png';" src="./userfiles/images//zurueck-button.png" alt="zurueck" width="114" height="37" /></p>
Nun würde ich gern den Button nur dann anzeigen, wenn history.back zu einer Seite zurück führt, die auf derselben URL liegt. Denn wenn jemand z.B. auf eine solche Detailseite googelt, soll der Button den Kunden ja nicht wieder aus meiner Seite rausschmeißen.

Alternativ zu obigem Code gibt es ja auch den Vorschlag von cmb mit einer userfunc http://www.albert-wilhelm.de/?CMSimple: ... don-Button. Aber auch hier wüsste ich nicht, was in eine if-Bedingung rein müsste (irgendwas mit "document.referrer" ?)

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: intelligenter Backbutton

Post by cmb » Sun May 07, 2017 2:37 pm

albert wrote:irgendwas mit "document.referrer"
(Wenn, dann müsste es "referer" sein; ein unglücklicher Rechtschreibfehler, der aber nicht mehr wegzubekommen ist.)

Aber grundsätzlich kann man sich auf den Referrer nicht verlassen, da Clients diesen nicht setzen müssen, und Browser tun das zumindest im Inkognito-Modus auch nicht, und soweit ich weiß, kann das auch in den Browsereinstellungen für normale Fenster so konfiguriert werden.
albert wrote:Nun würde ich gern den Button nur dann anzeigen, wenn history.back zu einer Seite zurück führt, die auf derselben URL liegt.
Auch so hast Du kein Glück, weil die history per JavaScript nicht ausgelesen werden kann (aus Datenschutzgründen).

Du müsstest es also wohl anders herum angehen, nämlich irgendeine Markierung setzen, sobald jemand auf Deine Domain kommt, und dann diese prüfen, und nur wenn vorhanden, dann eben den Back-Button anzeigen. Aus datenschutzrechtlichen Gründen wohl nicht unbedingt unproblematisch, aber zumindest das einfachste wäre vielleicht ein Cookie. Pseudocode:

Code: Select all

if (cookie is set) {
    show back button
}
set cookie
foreach link to external domain {
    prevent default
    unset cookie
    follow link
}
Christoph M. Becker – Plugins for CMSimple_XH

albert
Posts: 526
Joined: Sun Mar 07, 2010 8:01 pm
Location: Germany
Contact:

Re: intelligenter Backbutton

Post by albert » Fri Jan 05, 2018 4:27 pm

Nun habe ich "meine" Lösung eines "intelligenten" datenschutzkonformen cookie-abhängigen Zurück-Buttons mal ausführlich als Addon aufgeschrieben.

Auch dabei einer für XH_Shop-Detail-Seiten.

Alles siehe hier: http://www.albert-wilhelm.de/?CMSimple: ... Button_Neu

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: intelligenter Backbutton

Post by cmb » Sun Jan 07, 2018 11:20 pm

albert wrote:Nun habe ich "meine" Lösung eines "intelligenten" datenschutzkonformen cookie-abhängigen Zurück-Buttons mal ausführlich als Addon aufgeschrieben.

Auch dabei einer für XH_Shop-Detail-Seiten.

Alles siehe hier: http://www.albert-wilhelm.de/?CMSimple: ... Button_Neu
Hm, mir scheint, dass der Button eigentlich keine Cookies benötigt, und somit verstehe ich nicht, warum da überhaupt etwas datenschutzkonform sein muss. :?
Christoph M. Becker – Plugins for CMSimple_XH

albert
Posts: 526
Joined: Sun Mar 07, 2010 8:01 pm
Location: Germany
Contact:

Re: intelligenter Backbutton

Post by albert » Mon Jan 08, 2018 4:56 pm

cmb wrote:mir scheint, dass der Button eigentlich keine Cookies benötigt
ups, ja wüsstest du denn wie es ohne Cookies gehen könnte, dass ein Seitenbesucher bei seinem ersten Besuch den Button nicht präsentiert bekommt, wohl aber wenn er weiter surft?

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: intelligenter Backbutton

Post by cmb » Mon Jan 08, 2018 5:48 pm

albert wrote:
cmb wrote:mir scheint, dass der Button eigentlich keine Cookies benötigt
ups, ja wüsstest du denn wie es ohne Cookies gehen könnte, dass ein Seitenbesucher bei seinem ersten Besuch den Button nicht präsentiert bekommt, wohl aber wenn er weiter surft?
Ah, verstehe! Ohne eine entsprechende Info auf dem Client "zu speichern" geht das wohl wirklich nicht (der HTTP Referer[sic] ist nicht zuverlässig).

Das bringt mich dazu noch einmal über diese Datenschutzverordnung nachzudenken. Laienhaft ausgedrückt geht es wohl darum, dass man ohne ausdrückliche Zustimmung eines Nutzers keine Daten auf seinem Rechner speichern darf. Wenn das in etwa so ist, dann heißt das schlicht und ergreifend, dass man keine Websites mehr öffentlich zugänglich machen darf, denn sobald ein User eine URL abruft, landet eine ganze Menge Daten in seinem Browser-Cache, obwohl er dem nicht ausdrücklich zugestimmt hat. Nun könnte man sagen: das ist doch was ganz anderes, da schließlich der Browser die Daten im Cache speichert, und nicht die Website. Ah! Dann kann ich ja weiterhin munter Cookies an den Browser schicken, da auch diese lediglich vom Browser gespeichert werden, und nicht von der Website. Vermutlich verstehe ich diese Datenschutzverordnung aber völlig falsch – bin halt kein Jurist.
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply