jQuery Выберите перенаправление страницы - PullRequest
0 голосов
/ 13 февраля 2019

Мне было просто интересно, есть ли способ обнаружить перенаправление страницы, даже если пользователь просто вводит URL в строку поиска?Я понимаю, что есть селекторы, такие как a[href^="https://some-website.com", но я ищу что-то более общее, чем это.Все предложения приветствуются.

Обновление:

Чтобы быть более конкретным, моя цель здесь - определить, посещается ли определенный URL-адрес.Затем, если этот пользователь не вошел в систему, вместо этого перенаправьте его на URL для входа.У меня уже есть jQuery, чтобы проверить, не вошел ли пользователь и не перенаправил ли я страницу, я просто пропускаю обнаружение перенаправления URL.

Ответы [ 3 ]

0 голосов
/ 13 февраля 2019

Итак, это определенно не самый изящный способ добиться этого, и я не хочу принимать это как ответ в надежде, что что-то получится лучше.Но, используя:

let path = window.location.pathname;

if(path == "/YourPathHere"){
    //Some code here
}

Это будет выполняться всякий раз, когда пользователь попадает на эту страницу.Основная проблема в моем случае заключается в том, что когда я перенаправляю на страницу входа, это вызывает 2 перенаправления и может привести к путанице у пользователей на сайте.

0 голосов
/ 13 февраля 2019

Вы должны взглянуть на куки.Если ваш пользователь вошел в систему, вы установили cookie, например, «Login» = True

. Затем вы проверяете cookie на каждом сайте, где вы должны войти, если ваш cookie «Login»! = True окно.место = 'URL'

0 голосов
/ 13 февраля 2019

window.location.replace(...) лучше, чем использование window.location.href, потому что replace() не сохраняет исходную страницу в истории сеанса, что означает, что пользователь не застрянет в бесконечном фиаско кнопки назад.

<form>
   <input type="text" class="url">
   <input type="submit" class="submit">
</form>


<script>
    $(document).ready(function(){
         $('.submit').on('click',function(){
             // similar behavior as an HTTP redirect
             window.location.replace($('.url').val());

             // similar behavior as clicking on a link
             window.location.href = $('.url').val();
         });
    });
</script>
...