Как мне разрешить только один iframe и запретить iframe в другой iframe? - PullRequest
0 голосов
/ 23 апреля 2019

На странице скажем test.html следующий код генерирует iframe's

<iframe src='" + localStorage.getItem(z) + "' class='alink'></iframe>

Ссылки в фреймах определены как /product-1 /product-2. Теперь из-за настроек корзины. Происходит следующее.

Пользователь заходит site/test.html

один iframe загружает URL site/product-1

другой iframe загружает URL site/product-2

товары теперь оба добавляются в корзину, но корзина автоматически перенаправляет обратно на test.html, который затем снова загружает фреймы и добавляет товары в корзину. Так что это цикл, который добавляет слишком много товаров в корзину; -)

Я не могу изменить поведение перенаправления, так как это может испортить привычку клиентов работать с сайтом Поэтому я подумал, что должен быть способ вложений в iframe.

Итак, как мне разрешить только один iframe и запретить iframe в другой iframe.

    // RETRIEVER

    (function ($) {
      $(document).ready(function(){
        let dummy = Object.keys(localStorage).filter(v => v.startsWith("LinkOrderURL"));
        dummy.forEach(z => $("body").append("<iframe src='" + localStorage.getItem(z) + "' class='alink'></iframe>"));
      });
    })(jQuery);

1 Ответ

0 голосов
/ 25 апреля 2019

В конце концов, я использовал этот код для инкапсуляции вышеупомянутого, и это заставило его работать.

if ( self !== top ) {
  // you're in an iframe
} else {
  // you're not in an iframe
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...