Простой Модальный Не Закрыть | IE8 Ошибка | window.location.href

0

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

Код ниже...

При нажатии "Да" В каждом другом браузере страница перезагружается без возврата SimpleModal.

Но в IE8 он постоянно загружает SimplModal, тем самым отрицая доступ к сайту...

Спасибо за вашу помощь заранее!

 <!-- Init Age Verification Content -->

<div class="age" id="verify"> 
    <div><img src="white.png"></img></div>
    <div id="noman">ARE YOU OVER 18?</div>
    <div> 
      <p> If not, leave now and we wont tell your mom.
        </br>  By continuing you agree you're 18 or older.
      </p>
    </div>
    <div id="YN">
      <a href="javascript:window.location.href=window.location.href" id="old">Yes</a>
        &nbsp;&nbsp;&nbsp;&nbsp;
      <a href="example.com" rel="nofollow" id="young">No</a>
    </div>
</div>

<!-- If previous page wasn't from us... Verify -->

  <script>
if ( document.referrer == null || document.referrer.indexOf(window.location.hostname) < 0 ) {
$("#verify").modal({opacity:85, position: ["20%",""], onOpen: function (dialog) {
    dialog.overlay.fadeIn('slow', function () {
        dialog.container.slideDown('slow', function () {
            dialog.data.fadeIn('slow');
            return false;
        });
    });
}});
}
</script>
  • 0
    Начните с проверки, что является неожиданным: document.referrer или window.location.hostname .
  • 0
    Спасибо за ваш быстрый ответ :) Не могли бы вы быть более конкретным? Я ни в коем случае не кодер. Спасибо!
Показать ещё 3 комментария
Теги:
internet-explorer
simplemodal

1 ответ

3
Лучший ответ

IE не устанавливает document.referrer, если пользователь не перешел на страницу по ссылке

Из документации MDN: "Значение представляет собой пустую строку, если пользователь перешел непосредственно на страницу (не через ссылку, но, например, через закладку). Поскольку это свойство возвращает только строку, это не дает вам DOM доступ к ссылочной странице ".

Просто измените ссылку href на свой адрес страницы или попробуйте обходной путь.

<a href="javascript:redirect(window.location.href);" id="old">Yes</a>

<script type="text/javascript" >            
function redirect(url) {
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
        var referLink = document.createElement('a');
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    } else {
        location.href = url;
    }
}
</script>
  • 0
    Я понятия не имею, как это работает, но это работает. :) Я добавил этот скрипт сразу после моего текущего скрипта, и все проблемы были решены. Спасибо чувак!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню