58 Вопрос: Как перенаправить на другую веб-страницу?

вопрос создан в Tue, Feb 6, 2018 12:00 AM

Как я могу перенаправить пользователя с одной страницы на другую, используя jQuery или чистый JavaScript?

    
7729
  1. Я продолжаю видеть оба window.location = url; и window.location.href = url; Насколько они разные? Они? Кстати, я не знал о window.location.replace (url). Ницца.
    2012-06-07 14: 24: 45Z
  2. window.location совпадает с window.location.href в плане поведения. window.location возвращает объект. Если .href не задано, по умолчанию для window.location не задан параметр .href. Вывод: можно использовать любой из них.
    2012-08-07 07: 03: 58Z
  3. var url = "название сайта" $(location) .attr ('href', url);
    2013-02-18 11: 30: 19Z
  4. @ MadScientist Это обратный способ сделать это. Объект location не является элементом HTML, и использование объекта jquery для его установки кажется неправильным. Зачем вам использовать это, когда прямой код JS так прост?
    2013-11-26 20: 25: 46Z
  5. Почему вы хотите перенаправить? Форма входа не должна быть представлена? И даже если на целевой странице нет логики, вы все равно сможете отправить форму на другую страницу.
    2014-02-16 14: 45: 44Z
30 ответов                              30                         

Нельзя просто перенаправить с помощью jQuery

jQuery не требуется, и window.location.replace(...) лучше всего имитирует перенаправление HTTP.

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

Если вы хотите смоделировать кого-то, кто нажимает на ссылку, используйте   location.href

Если вы хотите имитировать перенаправление HTTP, используйте location.replace

Например:

// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");

// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";
    
14059
2019-05-19 13: 36: 05Z
  1. в случае кнопки отправки добавить return false; также внутри вашей функции
    2012-04-19 11: 52: 02Z
  2. Вопрос касается конкретно javascript, но, возможно, стоит отметить, что мета-обновление можно использовать в качестве возврата при сбое в случае, если пользователь отключил javascript
    2013-01-24 00: 51: 34Z
  3. @ NicolòMartini If (IE) document.write ("");
    2013-06-07 13: 28: 29Z
  4. Если вы уже используете jQuery, просто используйте $(location).attr('href',url);. window.location.href, кажется, в некоторых браузерах ведет себя непостоянно, фактически это не работает в моей версии Firefox. Я слышал, что настройка window.location напрямую не работает в версиях IE.
    2015-01-28 22: 34: 13Z
  5. "лучше" следует удалить. Как будет указано далее в ответе, лучшее решение - ситуативное. OP не спрашивает "как я могу эмулировать перенаправление HTTP с Javascript ..."
    2017-03-23 ​​15: 35: 45Z

ВНИМАНИЕ: . Этот ответ был представлен в качестве возможного решения; это, очевидно, не лучшее решение, так как для этого требуется jQuery. Вместо этого предпочтите чистое решение JavaScript.

$(location).attr('href', 'http://stackoverflow.com')
    
1587
2019-05-19 13: 36: 13Z
  1. Это тот буквальный ответ на вопрос. Если вы уже используете Jquery и, следовательно, уже загрузили его, он будет более эффективным с точки зрения пропускной способности и, конечно же, будет удобнее использовать ярлык
    2012-01-12 12: 00: 40Z
  2. Что еще более важно, есть ли способ сделать это с помощью jQuery? Это просто оболочка для window.location.href = url; Но если в jQuery есть какая-то функция, то если window.location.href = url; не будет работать в текущей среде (браузер, ОС и т. д.), ядро ​​jQuery может компенсировать это?
    2012-02-29 16: 03: 25Z
  3. Внедрение jQuery в уравнение таким образом просто смешно и бессмысленно, тем более что window.location не является элементом и, следовательно, не имеет атрибутов.
    2012-10-03 10: 32: 36Z
  4. Я почему-то сомневаюсь, что это все еще работает с последними версиями jQuery, где .attr() фактически устанавливает атрибуты (т.е. .setAttribute())
    2013-07-03 11: 23: 52Z
  5. @ deltaray Это не еще один способ перенаправления, как сказано выше, это бессмысленная оболочка вокруг объекта местоположения, которая даже не является элемент! Это напоминает мне о i.stack.imgur.com/ssRUr.gif
    2014-01-23 15: 48: 46Z

Стандартный "ванильный" способ JavaScript для перенаправления страницы:

window.location.href = 'newPage.html';

Если вы находитесь здесь, потому что теряете HTTP_REFERER при перенаправлении, продолжайте читать:

Следующий раздел предназначен для тех, кто использует HTTP_REFERER в качестве одной из многих мер безопасности (хотя это не очень хорошая мера защиты). Если вы используете Internet Explorer 8 или ниже, эти переменные будут потеряны при использовании любой формы JavaScript перенаправление страницы (location.href и т. д.).

Ниже мы собираемся реализовать альтернативу для IE8 & ниже , чтобы мы не теряли HTTP_REFERER. В противном случае вы почти всегда можете просто использовать window.location.href.

Тестирование по HTTP_REFERER (вставка URL-адреса, сеанс и т. д.) может помочь определить, является ли запрос законным. ( Примечание: есть также способы обойти /подделать этих рефералов, как отмечено ссылкой droop в комментариях)

Простое решение для кросс-браузерного тестирования (возврат к window.location.href для Internet Explorer 9+ и всех других браузеров)

Использование: redirect('anotherpage.aspx');

function redirect (url) {
    var ua        = navigator.userAgent.toLowerCase(),
        isIE      = ua.indexOf('msie') !== -1,
        version   = parseInt(ua.substr(4, 2), 10);

    // Internet Explorer 8 and lower
    if (isIE && version < 9) {
        var link = document.createElement('a');
        link.href = url;
        document.body.appendChild(link);
        link.click();
    }

    // All other browsers can use the standard window.location.href (they don't lose HTTP_REFERER like Internet Explorer 8 & lower does)
    else { 
        window.location.href = url; 
    }
}
    
588
2019-05-19 13: 36: 28Z
  1. Замечание: проверка реферера в качестве меры безопасности является паршивым решением. duckduckgo.com/?q=referrer+spoofing
    2013-01-29 23: 41: 11Z
  2. Если у вас есть идентификатор сеанса HTTP GET в URL-адресе реферера, его можно использовать для проверки его на предмет действительности.
    2015-08-21 04: 31: 05Z
  3. @ mcpDESIGNS вы уверены, что выe пытался использовать location.assign? Я использую в своем приложении IE8 и не теряю заголовок HTTP_REFERER.
    2015-09-30 18: 35: 27Z
  4. По крайней мере, в 2012 году это не работало, возможно, более поздние исправления IE8 исправили это - хотя это приятно слышать!
    2018-02-26 00: 41: 47Z
  5. Ваше упоминание HTTP_REFERER помогло мне понять проблему, возникающую у меня с window.open, и я нашел решение здесь: stackoverflow.com/questions/7580613/… . Кстати, у меня проблема в IE11!
    2019-01-09 10: 09: 54Z

Есть много способов сделать это.

// window.location
window.location.replace('http://www.example.com')
window.location.assign('http://www.example.com')
window.location.href = 'http://www.example.com'
document.location.href = '/path'

// window.history
window.history.back()
window.history.go(-1)

// window.navigate; ONLY for old versions of Internet Explorer
window.navigate('top.jsp')


// Probably no bueno
self.location = 'http://www.example.com';
top.location = 'http://www.example.com';

// jQuery
$(location).attr('href','http://www.example.com')
$(window).attr('location','http://www.example.com')
$(location).prop('href', 'http://www.example.com')
    
399
2019-01-16 10: 28: 35Z
  1. window.navigate доступен только для старых версий IE (Firefox /Chrome не поддерживают это). Если вы хотите перечислить все параметры, не забудьте о document.location.
    2014-11-26 18: 19: 10Z
  2. Это вовсе не объясняет что-либо . Что кто-то должен выбрать? Выбрать случайным образом из списка? Кроме того, что это добавляет к существующим ответам?
    2015-07-17 07: 13: 15Z
  3. document.location = document.referrer; Пожалуйста, добавьте это в список также. Это работает не так, как History.back, а заставляет страницу обновить снова.
    2015-07-30 20: 22: 46Z
  4. @ LéoLam Вот почему существует поисковая система под названием Google. :-) Вы можете найти каждый из них в Google и найти разницу. Вы не хотите выбирать случайно.
    2017-09-18 10: 43: 02Z
  5. @ IamtheMostStupidPerson точно моя точка зрения. Ответ бесполезен.
    2017-09-18 10: 44: 23Z

Это работает для каждого браузера:

window.location.href = 'your_url';
    
308
2014-12-04 20: 30: 50Z
  1. Вы также можете сделать document.location.replace(redirectURL), если не хотите, чтобы первая страница была в истории браузера
    2018-06-12 14: 06: 41Z

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

<a href='/path-to-page?page=1' class='pager-link'>1</a>
<a href='/path-to-page?page=2' class='pager-link'>2</a>
<span class='pager-link current-page'>3</a>
...

Обратите внимание, что текущая страница в примере обрабатывается по-разному в коде и с помощью CSS.

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

$(document).ready( function() {
    $('a.pager-link').click( function() {
        var page = $(this).attr('href').split(/\?/)[1];
        $.ajax({
            type: 'POST',
            url: '/path-to-service',
            data: page,
            success: function(content) {
               $('#myTable').html(content);  // replace
            }
        });
        return false; // to stop link
    });
});
    
282
2009-02-02 13: 18: 06Z

Я также считаю, что location.replace(URL) - лучший способ, но если вы хотите уведомить поисковые системы о вашем перенаправлении (они не анализируют код JavaScript для просмотра перенаправления), вам следует добавить метатег rel="canonical" на свой веб-сайт.

Добавление раздела noscript, содержащего метатег обновления HTML, также является хорошим решением. Я предлагаю вам использовать этот JavaScript инструмент перенаправления для создания перенаправлений. Он также поддерживает Internet Explorer для передачи HTTP-реферера.

Пример кода без задержки выглядит следующим образом:

<!-- Place this snippet right after opening the head tag to make it work properly -->

<!-- This code is licensed under GNU GPL v3 -->
<!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited -->
<!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ -->

<!-- REDIRECTING STARTS -->
<link rel="canonical" href="https://yourdomain.com/"/>
<noscript>
    <meta http-equiv="refresh" content="0;URL=https://yourdomain.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
    var url = "https://yourdomain.com/";
    if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
    {
        document.write("redirecting..."); // Don't remove this line or appendChild() will fail because it is called before document.onload to make the redirect as fast as possible. Nobody will see this text, it is only a tech fix.
        var referLink = document.createElement("a");
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    }
    else { window.location.replace(url); } // All other browsers
</script>
<!-- Credit goes to http://insider.zone/ -->
<!-- REDIRECTING ENDS -->
    
241
2018-01-18 15: 42: 18Z

Но если кто-то захочет перенаправить обратно на домашнюю страницу, он может использовать следующий фрагмент.

window.location = window.location.host

Было бы полезно, если бы у вас было три разных среды: разработка, подготовка и производство.

Вы можете исследовать этот объект window или window.location, просто поместив эти слова в Chrome Console или Firebug Консоль.

    
216
2017-01-21 20: 07: 34Z
  1. window.location.replace (window.location.protocol + "//" + window.location.host)
    2014-01-17 00: 21: 28Z
  2. еще проще: window.location = '/'
    2014-06-21 23: 56: 02Z
  3. Iftah - это зависит от "базового" метатега.
    2016-01-26 13: 18: 59Z

JavaScript предоставляет вам множество методов для извлечения и изменения текущего URL, который отображается в адресной строке браузера. Все эти методы используют объект Location, который является свойством объекта Window. Вы можете создать новый объект Location с текущим URL следующим образом.

var currentLocation = window.location;

Основная структура URL

<protocol>//<hostname>:<port>/<pathname><search><hash>

введите описание изображения здесь

  1. Протокол - указывает имя протокола, которое будет использоваться для доступа к ресурсу в Интернете. (HTTP (без SSL) или HTTPS (с SSL))

  2. hostname - имя хоста указывает хост, которому принадлежит ресурс. Например, www.stackoverflow.com. Сервер предоставляет сервисы, используя имя хоста.

  3. порт - номер порта, используемый для распознавания определенного процесса, на который должно быть перенаправлено интернет-сообщение или другое сетевое сообщение при поступлении на сервер.

  4. pathname - путь содержит информацию о конкретном ресурсе хоста, к которому веб-клиент хочет получить доступ. Например, stackoverflow.com/index.html.

  5. запрос - строка запроса следует за компонентом пути и предоставляет строку информации, которую ресурс может использовать для каких-либо целей (например, в качестве параметров для поиска или в качестве данных для обработки).

  6. hash - Якорная часть URL-адреса, включающая знак хеша (#).

С помощью этих свойств объекта Location вы можете получить доступ ко всем этим компонентам URL

  1. hash - устанавливает или возвращает часть привязки URL.
  2. хост или возвращает имя хоста и порт URL.
  3. имя хоста - устанавливает или возвращает имя хоста URL.
  4. href - устанавливает или возвращает весь URL.
  5. путь - устанавливает или возвращает путь к URL-адресу.
  6. порт - устанавливает или возвращает номер порта, который сервер использует для URL-адреса.
  7. протокол - устанавливает или возвращает протокол URL-адреса.
  8. поиск или возвращает часть запроса URL-адреса

Теперь, если вы хотите изменить страницу или перенаправить пользователя на другую страницу, вы можете использовать свойство href объекта Location, как этот

УВы можете использовать свойство href объекта Location.

window.location.href = "http://www.stackoverflow.com";

Местоположение объекта также имеют эти три метода

  1. assign () - загружает новый документ.
  2. reload () - перезагружает текущий документ.
  3. replace () - заменяет текущий документ новым.

Вы можете использовать метод assign () и replace также для перенаправления на другие страницы, подобные этим

location.assign("http://www.stackoverflow.com");

location.replace("http://www.stackoverflow.com");

Чем отличаются метод assign () и replace () . Разница между методом replace () и метод assign () () заключается в том, что метод replace () удаляет URL-адрес текущего документа из истории документа означает, что невозможно использовать кнопку «назад» для возврата к исходному документу. Поэтому используйте метод assign (), если вы хотите загрузить новый документ, и хотите дать возможность вернуться к исходному документу.

Вы можете изменить свойство href объекта location, используя jQuery , также как это

$(location).attr('href',url);

И, следовательно, вы можете перенаправить пользователя на другой URL-адрес.

    
202
2017-10-24 09: 52: 54Z

В основном jQuery - это просто JavaScript фреймворк, и для таких вещей, как перенаправление , в этом случае вы можете просто использовать чистый JavaScript так что в этом случае у вас есть 3 варианта использования vanilla JavaScript:

1) Использование местоположения replace заменит текущую историю страницы, что означает, что невозможно использовать кнопку back , чтобы вернуться к оригиналу. стр.

window.location.replace("http://stackoverflow.com");

2) Используя местоположение назначить , вы сохраните историю, а с помощью кнопки назад вы можете вернуться на исходную страницу:

window.location.assign("http://stackoverflow.com");

3) Я рекомендую использовать один из этих предыдущих способов, но это может быть третий вариант с использованием чистого JavaScript:

window.location.href="http://stackoverflow.com";

Вы также можете написать функцию в jQuery для ее обработки, но это не рекомендуется, поскольку это всего лишь одна строка функции JavaScript, также вы можете использовать все перечисленные выше функции без окна, если вы уже находитесь в области видимости окна, например, window.location.replace("http://stackoverflow.com"); может быть location.replace("http://stackoverflow.com");

Также я показываю их все на изображении ниже:

 location.replace location.assign

    
191
2019-01-18 23: 52: 41Z
  1. Я также рекомендую использовать assign() вместо href=, поскольку в некоторых случаях последний не работал должным образом.
    2018-08-23 07: 57: 15Z

Нужно просто установить с помощью window.location.

Пример: сильный> р>

window.location = "https://stackoverflow.com/";

Вот предыдущий пост на эту тему: Как перенаправить на другую веб-страницу?

    
190
2019-05-19 13: 36: 47Z
  1. Возможно, это работает, но я не уверен, что это правильный способ сделать это. Я не вижу документации, подтверждающей это. Это может привести программистов к плохой практике программирования.
    2016-11-11 20: 25: 22Z

Перед тем, как начать, jQuery - это библиотека JavaScript, используемая для манипулирования DOM. Поэтому вам не следует использовать jQuery для перенаправления страниц.

Цитата из Jquery.com:

  

Хотя jQuery может работать без серьезных проблем в старых версиях браузера,   мы не активно тестируем в них jQuery и обычно не исправляем ошибки   что может появиться в них.

Было найдено здесь: https://jquery.com/browser-support/

Таким образом, jQuery не является универсальным решением для обеспечения обратной совместимости.

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

Эта страница будет перенаправлена ​​на Google через 3000 миллисекунд

<!DOCTYPE html>
<html>
    <head>
        <title>example</title>
    </head>
    <body>
        <p>You will be redirected to google shortly.</p>
        <script>
            setTimeout(function(){
                window.location.href="http://www.google.com"; // The URL that will be redirected too.
            }, 3000); // The bigger the number the longer the delay.
        </script>
    </body>
</html>

Доступны следующие варианты:

window.location.href="url"; // Simulates normal navigation to a new page
window.location.replace("url"); // Removes current URL from history and replaces it with a new URL
window.location.assign("url"); // Adds new URL to the history stack and redirects to the new URL

window.history.back(); // Simulates a back button click
window.history.go(-1); // Simulates a back button click
window.history.back(-1); // Simulates a back button click
window.navigate("page.html"); // Same as window.location="url"

При использовании замены кнопка «Назад» не вернется на страницу перенаправления, как если бы она никогда не была в истории. Если вы хотите, чтобы пользователь мог вернуться на страницу перенаправления, используйте window.location.href или window.location.assign. Если вы используете параметр, позволяющий пользователю вернуться на страницу перенаправления, помните, что при входе на страницу перенаправления он будет перенаправлять вас назад. Поэтому учитывайте это при выборе опции для вашего перенаправления. В условиях, когда страница перенаправляется только тогда, когда пользователь выполняет действие, тогда наличие страницы в истории кнопки возврата будет в порядке. Но если страница автоматически перенаправляет вас, вы должны использовать функцию замены, чтобы пользователь мог использовать кнопку «Назад», не возвращаясь к странице, которую перенаправляет.

Вы также можете использовать метаданные для запуска перенаправления страницы следующим образом.

Обновление META

<meta http-equiv="refresh" content="0;url=http://evil.com/" />

Местоположение META

<meta http-equiv="location" content="URL=http://evil.com" />

Взлом BASE

<base href="http://evil.com/" />

На этой странице можно найти еще много способов перенаправить вашего ничего не подозревающего клиента на страницу, которую он, возможно, не захочет открыть (ни один из них не зависит от jQuery):

  

https://code.google.com/p/html5security/wiki/RedirectionMethods р>

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

Следующий абзац является гипотетическим:

Вас также могут объявить вредоносным сайтом. Если это произойдет, тогда, когда люди нажимают на ссылку на ваш сайт, браузер пользователей может предупредить их, что ваш сайт является вредоносным. Также может произойти, если поисковые системы начнут понижать ваш рейтинг, если люди сообщают о плохом опыте на вашем сайте.

Ознакомьтесь с рекомендациями Google для веб-мастеров о перенаправлениях: https://support.google.com/webmasters/answer/2721217 гл = еп &амп;? ref_topic = 6001971 р>

Вот забавная маленькая страница, которая выбивает вас из колеи.

<!DOCTYPE html>
<html>
    <head>
        <title>Go Away</title>
    </head>
    <body>
        <h1>Go Away</h1>
        <script>
            setTimeout(function(){
                window.history.back();
            }, 3000);
        </script>
    </body>
</html>

Если вы объедините два примера страницы вместе, у вас будет петля перенаправления, которая гарантирует, что ваш пользователь больше никогда не захочет использовать ваш сайт.

    
162
2019-05-19 13: 38: 37Z
  1. Я отвечаю на его запрос jQuery, говоря, что он не нужен. В JQuery есть много полезных ярлыков для JavaScript, но нет необходимости в ярлыках для перенаправлений. JQuery это просто JavaScript. Ничего более. Обычный способ вызова перенаправления будет работать с его функциями, используя jQuery.
    2015-06-27 12: 16: 27Z
  2. Патрик, по вашей собственной логике нет необходимости в JQuery во всех ситуациях. Все дело в удобстве, и вопрос задан для него. Лучший инструмент, который я бы сказал, - это версия JQuery, потому что она, вероятно, отвлечет от особенностей браузера в будущем. Таким образом, ваш аргумент все еще недействителен. Вопрос задан для JQuery.
    2015-06-30 22: 17: 17Z
  3. Вы можете быть правы в этом вопросе в настоящее время, однако вы не можете видеть будущее и не можете в настоящее время предсказать, насколько оно является будущим. И факт остается фактом - вопрос, заданный для JQuery!
    2015-07-02 22: 19: 42Z
  4. "Да, JavaScript может измениться, и если он изменится, тогда jQuery должен будет измениться, поскольку jQuery - это JavaScript. - Патрик В. МакМахон, вчера" Спасибо, я успокаиваюсь.
    2015-07-05 18: 45: 26Z
  5. У вас нет дела. JQuery чкак более высокий шанс изменить, чем JavaScript. Новая версия JQuery постоянно обновляется, а старый jQuery устаревает, и из-за этого возникают проблемы, связанные с кодом в установленной версии JQuery.
    2015-07-05 18: 50: 59Z
var url = 'asdf.html';
window.location.href = url;
    
157
2012-05-01 20: 35: 48Z

Вы можете сделать это без jQuery как:

window.location = "http://yourdomain.com";

А если вам нужен только jQuery, вы можете сделать это следующим образом:

$jq(window).attr("location","http://yourdomain.com");
    
138
2014-11-29 06: 13: 56Z
  1. Возможно, JQuery - лучшая идея, поскольку она может абстрагироваться от будущих изменений /устареваний браузера
    2015-06-24 23: 14: 27Z

Это работает с jQuery:

$(window).attr("location", "http://google.fr");
    
137
2016-10-30 16: 11: 26Z

# Перенаправление страницы HTML с использованием jQuery /JavaScript

Попробуйте этот пример кода:

function YourJavaScriptFunction()
{
    var i = $('#login').val();
    if (i == 'login')
        window.location = "login.php";
    else
        window.location = "Logout.php";
}

Если вы хотите указать полный URL-адрес как window.location = "www.google.co.in"; .

    
84
2016-08-31 12: 08: 08Z
  1. "Использование jQuery" неверно. И пример использования полного URL не будет работать, так как это не полный URL. Там нет протокола, поэтому он будет интерпретироваться как относительный URL.
    2017-10-31 21: 18: 27Z

Вам нужно вставить эту строку в свой код:

$(location).attr("href","http://stackoverflow.com");

Если у вас нет jQuery, используйте JavaScript:

window.location.replace("http://stackoverflow.com");
window.location.href("http://stackoverflow.com");
    
77
2019-03-28 05: 20: 33Z
  1. какой смысл оборачивать все в jquery?
    2016-09-22 18: 12: 41Z

Итак, вопрос в том, как сделать страницу перенаправления, а не в том, как перенаправить на сайт?

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

<script>
    var url = window.location.search.split('url=')[1]; // Get the URL after ?url=
    if( url ) window.location.replace(url);
</script>

Допустим, вы просто поместили этот фрагмент в файл redirect/index.html на своем веб-сайте и можете использовать его следующим образом.

  

http://www.mywebsite.com/redirect?url=http://stackoverflow.com р>

И если вы перейдете по этой ссылке, она автоматически перенаправит вас на stackoverflow.com .

  

Ссылка на документацию сильный>

И так вы создаете страницу перенаправления Simple с помощью JavaScript

Edit:

Также есть одна вещь, на которую стоит обратить внимание. Я добавил window.location.replace в свой код, потому что я думаю, что он подходит для страницы перенаправления, но вы должны знать, что при использовании window.location.replace, и вы будете перенаправлены, когда вы нажмете кнопку возврата в браузере, он не получит вернуться на страницу перенаправления, и она вернется на страницу перед ней, взгляните на эту маленькую демонстрационную вещь.

Пример: р>

  

Процесс: хранить дома = > перенаправить страницу в Google = > Google

     

На Google: Google = > кнопка возврата в браузере = > магазин дома

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

if( url ) window.location.replace(url);

с

if( url ) window.location.href = url;
    
75
2014-10-26 10: 55: 01Z

В функции клика просто добавьте:

window.location.href = "The URL where you want to redirect";
$('#id').click(function(){
    window.location.href = "http://www.google.com";
});
    
70
2014-10-26 10: 44: 31Z

***** ОРИГИНАЛЬНЫЙ ВОПРОС БЫЛ - «КАК ПЕРЕНОРАТЬ ИСПОЛЬЗОВАНИЕ JQUERY», ОТВЕТЬТЕ НА ОТВЕТ НА РЕАЛИЗАЦИЮ JQUERY > > СЛУЧАЙ БЕСПЛАТНОГО ИСПОЛЬЗОВАНИЯ *****

Чтобы просто перенаправить на страницу с помощью JavaScript:

  window.location.href = "/contact/";

Или, если вам нужна задержка:

setTimeout(function () {
  window.location.href = "/contact/";
}, 2000);   // Time in milliseconds

jQuery позволяет легко выбирать элементы на веб-странице. Вы можете найти на странице все, что захотите, а затем использовать jQuery для добавления специальных эффектов, реагирования на действия пользователя или показа и скрытия содержимого внутри или вне выбранного элемента. Все эти задачи начинаются со знания того, как выбрать элемент или событие . р>

     $('a,img').on('click',function(e){
         e.preventDefault();
         $(this).animate({
             opacity: 0 //Put some CSS animation here
         }, 500);
         setTimeout(function(){
           // OK, finished jQuery staff, let's go redirect
           window.location.href = "/contact/";
         },500);
     });

Представьте, что кто-то написал скрипт /плагин, который составляет 10000 строк кода ?! Что ж, с помощью jQuery вы можете подключиться к этому коду всего одной или двумя строками.

    
70
2018-04-18 09: 11: 03Z
  1. Желательно не писать заглавными буквами, хотя хороший ответ
    2018-10-12 19: 55: 31Z

Попробуйте это:

location.assign("http://www.google.com");

Пример кода .

    
58
2016-01-02 04: 29: 32Z

jQuery не нужен. Вы можете сделать это:

window.open("URL","_self","","")

Это так просто!

Лучший способ инициировать HTTP-запрос - использовать document.loacation.href.replace('URL').

    
54
2014-04-03 21: 23: 23Z

Сначала напишите правильно. Вы хотите перейти в приложении для другой ссылки из вашего приложения для другой ссылки. Вот код:

window.location.href = "http://www.google.com";

И если вы хотите перемещаться по страницам в вашем приложении, у меня также есть код, если хотите.

    
51
2014-04-03 21: 20: 11Z

Вы можете перенаправить в jQuery следующим образом:

$(location).attr('href', 'http://yourPage.com/');
    
51
2016-07-03 05: 01: 56Z

В JavaScript и jQuery мы можем использовать следующий код для перенаправления одной страницы на другую:

window.location.href="http://google.com";
window.location.replace("page1.html");
    
43
2014-04-03 21: 22: 34Z

JavaScript:

window.location.href='www.your_url.com';
window.top.location.href='www.your_url.com';
window.location.replace('www.your_url.com');

Jquery:

var url='www.your_url.com';
$(location).attr('href',url);
$(location).prop('href',url);//instead of location you can use window
    
43
2017-05-04 12: 12: 47Z
  1. Есть ли причина для сохранения URL-адреса в jQuery в качестве переменной, но не в Vanilla?
    2017-08-10 05: 00: 02Z

ECMAScript 6 + jQuery, 85 байт

$({jQueryCode:(url)=>location.replace(url)}).attr("jQueryCode")("http://example.com")

Пожалуйста, не убивайте меня, это шутка. Это шутка. Это шутка.

Это «дало ответ на вопрос» в том смысле, что оно запросило решение «с использованием jQuery», что в данном случае влечет за собой принудительное включение его в уравнение.

Ferrybig, очевидно, нуждается в объяснении шутки (все еще шучу, я уверен, что в форме обзора есть ограниченные возможности), поэтому без лишних слов:

Другие ответы без необходимости используют jQuery attr() для объектов location или window.

Этот ответ также злоупотребляет им, но в более нелепой форме. Вместо того чтобы использовать его для установки местоположения, он использует attr() для извлечения функции, которая устанавливает местоположение.

Функция называется jQueryCode, хотя в ней нет ничего jQuery, и вызов функции somethingCode просто ужасен, особенно когда что-то даже не является языком.

"85 байт" является ссылкой на Code Golf. Гольф, очевидно, не то, что вы должны делать за пределами гольф-кода, и, кроме того, этот ответ явно не гольф.

В основном, передергивайся.

    
42
2016-10-30 16: 27: 41Z

Вот перенаправление с задержкой. Вы можете установить время задержки по своему усмотрению:

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Your Document Title</title>
    <script type="text/javascript">
        function delayer(delay) {
            onLoad = setTimeout('window.location.href = "http://www.google.com/"', delay);
        }
    </script>
</head>

<body>
    <script>
        delayer(8000)
    </script>
    <div>You will be redirected in 8 seconds!</div>
</body>

</html>
    
39
2016-02-23 06: 26: 07Z
  1. лучше сделать это: setTimeout (function () {window.location.href = " google.com "}, задержка);
    2014-04-04 21: 33: 51Z

Есть три основных способа сделать это,

window.location.href='blaah.com';
window.location.assign('blaah.com');

и ...

window.location.replace('blaah.com');

Последний вариант лучше всего подходит для традиционного перенаправления, потому что он не сохранит страницу, на которую вы перешли, до того, как он будет перенаправлен в историю поиска. Однако, если вы просто хотите открыть вкладку с помощью JavaScript, вы можете воспользоваться любым из перечисленных выше. 1 р>

РЕДАКТИРОВАТЬ: префикс window является необязательным.

    
36
2015-01-19 00: 58: 45Z

Мне просто пришлось обновить эту нелепость с помощью еще одного более нового метода jQuery:

var url = 'http://www.fiftywaystoleaveyourlocation.com';
$(location).prop('href', url);
    
36
2016-07-03 04: 58: 33Z
источник размещен Вот