iFrame, загружающий мою корзину, требует отправки повара ie для отображения содержимого корзины; Safari блокирует куки - PullRequest
2 голосов
/ 20 февраля 2020

Отлично работает на Chrome & Firefox, но имеет серьезные проблемы при попытке загрузки в Safari. Вся предпосылка заключается в том, что мы хотим, чтобы весь процесс совершения покупок проходил через указанный iFrame на вторичном URL, а затем направлялся на первичный URL, как только пользователь достигнет страницы оформления заказа (по соображениям безопасности).

Я использую WooCommerce в качестве нашей корзины для покупок, построенной на основе WordPress. У меня ограниченные знания веб-языков, но я знаю достаточно, чтобы собрать воедино код, который я нахожу в inte rnet, чтобы все работало большую часть времени. Вся информация, которую я нахожу о сторонних проблемах повара ie с Safari, относится к 2012/13 году, и большинство из них, похоже, не имеют никакого значения. На данный момент я написал JS для перенаправления в корзину на основном домене, если обнаружен Safari:

 <script>
    var is_safari = navigator.userAgent.indexOf("Safari") > -1;
    var is_chrome = navigator.userAgent.indexOf('Chrome') > -1;
    if ((is_chrome) && (is_safari)) {is_safari = false;}  
    if (is_safari) {
        if (!document.cookie.match(/^(.*;)?\s*woocommerce_cart_hash\s*=\s*[^;]+(.*)?$/)) {
            document.cookie = 'fixed=fixed; expires=Tue, 19 Jan 2038 03:14:07 UTC; path=/';
            window.location.replace("primarydomain.com");
        }
    }
</script>

Он сделан из фрагмента, найденного мной на GitHub, который призван решить проблему, предварительно загрузив страницу, чтобы зацепить повара ie, а затем, как только Повар ie перезагружает iFrame, поскольку Safari уже имеет доступ к повару ie. Проблема в том, что даже когда повар ie уже существует, похоже, что Safari отказывается признать, что он там, и все еще загружает пустую / пустую корзину (повар ie называется «woocommerce_cart_ha sh»).

Не знаю, пытался ли я это исправить? Или я смотрю не в том месте? Спасибо всем за помощь, спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...