Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 2 Nächste Version anzeigen »

Third-Party-Inhalte bzw. -Cookies sind im Safari per default deaktiviert.

Diese Einstellung sorgt unter anderem auch dafür, dass iframes, die zur Einbindung der Printlounge in externe Ressourcen (bspw. xt:commerce oder Magento) ggf. aber auch in OPC-Lösungen blockiert werden und zu einer "weißen Seite" führen.

Da diese Einstellung voraussetzt, dass der Benutzer die eingebundene Seite bereits selbst aktiv aufgerufen und besucht hat, damit diese Inhalte geladen werden dürfen, muss diese Seite einfach aufgerufen werden. Hierzu sind folgende Anpassungen erforderlich:

  1. In der Printlounge wurde die Datei /_safarithirdparty.php angelegt, welche ein Cookies setzt und den Besucher anschließend sofort wieder zur angegebenen Redirect-URL weiterleitet (?r=URL)
  2. Auf der Kundenseite (also bspw. im xt:commerce-Template) muss folgender Code auf der Startseite eingefügt werden:
<?php if(!isset($_COOKIE['fixed'])) { ?>
<script>
fixmycookies();
function fixmycookies() {
var is_safari = navigator.userAgent.indexOf('Safari') > -1;
if (is_safari) {
if (!getCookie('fixed')) {
setCookie('fixed', 'fixed', 365);
if (getCookie('fixed')) {
window.location.replace("http://SUBDOMAIN.print-server.net/_safarithirdparty.php?r=" + '<?php echo $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; ?>');
}
}
}
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return '';
}
}
</script>
<?php }; ?>

Wichtig: Dieser Fix umgeht die Datenschutzeinstellungen des Benutzers! Es muss hier ggf. ein entsprechender Hinweis auf der Seite ausgegeben werden, dass Inhalte von Drittanbietern bzw. Third-Party-Content zur Personalisierung der Artikel verwendet werden (im Einzelfall mit dem Datenschutzbeauftragen zu klären, ob vorhandene Hinweise ausreichen oder Erweiterungen erforderlich sind). 

  • Keine Stichwörter