it-swarm-ko.tech

다른 웹 페이지 이동?

JQuery 또는 순수한 JavaScript를 사용하여 한 페이지에서 다른 페이지로 사용자를 리디렉션 할 수 있습니까?

7729
venkatachalam

JQuery를 사용하여 단순히 리디렉션하지 않습니다.

jQuery는 필요하지 않으며 window.location.replace(...) 는 HTTP 리디렉션을 가장 잘 시뮬레이트합니다.

window.location.replace(...)replace()이 세션 기록에 원래 페이지를 유지하지 않기 때문에 window.location.href을 사용하는 것보다 낫습니다. 즉, 사용자가 끝나지 않는 뒤로 버튼 대 실패에 갇히지 않습니다.

누군가 링크를 클릭하여 시뮬레이션하려는 경우 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";
13935
Ryan McGeary

경고 : 이 답변은 가능한 해결책으로 제공되었을뿐입니다. 분명히 not jQuery가 필요한 최상의 솔루션입니다. 대신 순수한 JavaScript 솔루션을 선호하십시오.

$(location).attr('href', 'http://stackoverflow.com')
1570
Boris Guéry

페이지를 리디렉션하는 표준 "Vanilla"JavaScript 방법

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

또는 더 간단하게 : (window이 (가) 글로벌이므로)

location.href = 'newPage.html';

리디렉션 할 때 losing HTTP_REFERER이므로 여기에 있다면 계속 읽으십시오 :

(그렇지 않으면이 마지막 부분을 무시하십시오)


다음 섹션은 HTTP_REFERER를 여러 가지 보안 수단 중 하나로 사용하는 사람들을위한 것입니다 (비록 훌륭한 보호 수단은 아니지만). Internet Explorer 8 이하를 사용하는 경우 JavaScript 페이지 리디렉션 (location.href 등) 형식을 사용하면 이러한 변수가 손실됩니다.

아래에서는 IE8 & lower에 대한 대안을 구현하여 HTTP_REFERER를 잃지 않도록합니다. 그렇지 않으면 거의 항상 window.location.href를 사용할 수 있습니다.

HTTP_REFERER (URL 붙여 넣기, 세션 등)에 대한 테스트 can 요청이 합법적인지 여부를 알려주는 데 도움이됩니다. (참고 : 의견에 droop의 링크로 표시된 것처럼 이러한 참조자를 해결/스푸핑하는 방법도 있습니다))


간단한 크로스 브라우저 테스트 솔루션 (Internet Explorer 9+ 및 기타 모든 브라우저의 경우 window.location.href로 대체)

사용 : 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; 
    }
}
609

이 작업을 수행하는 데는 여러 가지 방법이 있습니다.

// 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')
392
Govind Singh

모든 브라우저에서 작동합니다.

window.location.href = 'your_url';
302
Fred

자신이하려는 일에 대해 좀 더 설명력이 있다면 도움이 될 것입니다. 페이징 된 데이터를 생성하려는 경우이를 수행하는 방법에 몇 가지 옵션이 있습니다. 직접 가져올 수있는 각 페이지마다 별도의 링크를 생성 할 수 있습니다.

<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가 들어갈 곳을 선택하십시오. 다른 페이지에 해당하는 각 앵커 태그에 클릭 핸들러를 추가하십시오. 이 클릭 핸들러는 AJAX를 통해 다음 페이지를 가져 와서 새로운 데이터로 테이블을 업데이트하는 jQuery 코드를 호출합니다. 아래 예제에서는 새 페이지 데이터를 반환하는 웹 서비스가 있다고 가정합니다.

$(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
    });
});
280
tvanfosson

또한 location.replace(URL)이 가장 좋은 방법이라고 생각하지만 리디렉션에 대해 검색 엔진에 알리고 싶으면 (리디렉션을 확인하기 위해 JavaScript 코드를 분석하지 않음) rel="canonical" 메타 태그를 웹 사이트에 추가해야합니다.

HTML 새로 고침 메타 태그가있는 noscript 섹션을 추가하는 것도 좋은 해결책입니다. 이 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 -->
237
Patartics Milán

그러나 누군가 홈 페이지로 다시 리디렉션하려는 경우 다음 스 니펫을 사용할 수 있습니다.

window.location = window.location.Host

개발, 스테이징 및 프로덕션과 같은 세 가지 환경이 있다면 도움이됩니다.

이 단어를 Chrome Console 또는 Firebug 의 Console에 넣기 만하면이 창이나 window.location 객체를 탐색 할 수 있습니다.

212
Nadeem Yasin

JavaScript는 브라우저의 주소 표시 줄에 표시되는 현재 URL을 검색하고 변경하는 많은 방법을 제공합니다. 이러한 모든 방법은 Window 객체의 속성 인 Location 객체를 사용합니다. 다음과 같이 현재 URL이있는 새 Location 객체를 만들 수 있습니다.

var currentLocation = window.location;

RL의 기본 구조

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

enter image description here

  1. 프로토콜-인터넷의 리소스에 액세스하는 데 사용되는 프로토콜 이름을 지정합니다. (HTTP (SSL 없음) 또는 HTTPS (SSL 있음))

  2. hostname-호스트 이름은 리소스를 소유 한 호스트를 지정합니다. 예를 들어 www.stackoverflow.com입니다. 서버는 호스트 이름을 사용하여 서비스를 제공합니다.

  3. 포트-서버에 도착했을 때 인터넷 또는 기타 네트워크 메시지가 전달 될 특정 프로세스를 인식하는 데 사용되는 포트 번호입니다.

  4. pathname-경로는 웹 클라이언트가 액세스하려는 호스트 내의 특정 리소스에 대한 정보를 제공합니다. 예를 들어 stackoverflow.com/index.html입니다.

  5. query-쿼리 문자열은 경로 구성 요소를 따르며 리소스가 검색 목적 또는 처리 할 데이터 등의 용도로 활용할 수있는 정보 문자열을 제공합니다.

  6. 해시-URL의 앵커 부분에는 해시 부호 (#)가 포함됩니다.

이러한 Location 객체 속성을 사용하면 이러한 모든 URL 구성 요소에 액세스 할 수 있습니다

  1. hash -URL의 앵커 부분을 설정하거나 반환합니다.
  2. Host -URL의 호스트 이름과 포트를 설정하거나 반환합니다.
  3. hostname -URL의 호스트 이름을 설정하거나 반환합니다.
  4. href-전체 URL을 설정하거나 반환합니다.
  5. pathname -URL의 경로 이름을 설정하거나 반환합니다.
  6. port-서버가 URL에 사용하는 포트 번호를 설정하거나 반환합니다.
  7. protocol -URL의 프로토콜을 설정하거나 반환합니다.
  8. search -URL의 쿼리 부분을 설정하거나 반환

이제 페이지를 변경하거나 사용자를 다른 페이지로 리디렉션하려면 Location 객체의 href 속성을 다음과 같이 사용할 수 있습니다

Location 객체의 href 속성을 사용할 수 있습니다.

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

Location Object에도이 세 가지 방법이 있습니다

  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 () 메서드를 사용하고 원래 문서로 다시 이동하는 옵션을 제공하고 싶습니다.

jQuery를 사용하여 위치 객체 href 속성을 변경할 수 있습니다.

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

따라서 사용자를 다른 URL로 리디렉션 할 수 있습니다.

205
Nikhil Agrawal

기본적으로 jQueryJavaScript 프레임 워크이며, 리디렉션과 같은 일부 작업을 수행 할 경우 순수한 JavaScript 만 사용할 수 있습니다. 바닐라 자바 ​​스크립트를 사용하는 3 가지 옵션이 있습니다.

1) 위치 바꾸기를 사용하면 페이지의 현재 기록을 대체하므로 버튼을 사용하여 원래 페이지로 돌아갈 수 없음을 의미합니다.

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

188
Alireza

window.location를 사용하여 설정할 수 있어야합니다.

예 :

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

주제에 대한 과거 게시물은 다음과 같습니다.

어떻게 다른 웹 페이지로 리디렉션합니까?

188
Newse

시작하기 전에 jQuery는 DOM 조작에 사용되는 JavaScript 라이브러리입니다. 따라서 페이지 리디렉션에 jQuery를 사용하면 안됩니다.

Jquery.com의 견적 :

JQuery는 이전 버전의 브라우저에서는 주요 문제없이 실행될 수 있지만 jQuery를 적극적으로 테스트하지는 않으며 일반적으로 버그를 수정하지 않습니다.

여기에서 찾았습니다 : https://jquery.com/browser-support/

따라서 jQuery는 이전 버전과의 호환성을위한 최종 솔루션이 아닙니다.

원시 자바 스크립트를 사용하는 다음 솔루션은 모든 브라우저에서 작동하며 오랜 기간 동안 표준으로 사용되었으므로 크로스 브라우저 지원을 위해 라이브러리가 필요하지 않습니다.

이 페이지는 3000 밀리 초 후에Google로 리디렉션됩니다.

<!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 http-equiv="refresh" content="0;url=http://evil.com/" />

META 위치

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

기본 도용

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

의심하지 않는 클라이언트를 원치 않는 페이지로 리디렉션하는 더 많은 방법은이 페이지에서 찾을 수 있습니다 (그 중 하나는 jQuery에 의존하지 않음).

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

나는 사람들이 무작위로 리디렉션되는 것을 싫어한다는 점을 지적하고자한다. 절대적으로 필요한 경우에만 사람들을 리디렉션하십시오. 사람들을 무작위로 리디렉션하기 시작하면 다시 사이트로 이동하지 않습니다.

다음 부분은 가상입니다.

악성 사이트로 신고 될 수도 있습니다. 그런 다음 사람들이 귀하의 사이트에 대한 링크를 클릭하면 사용자 브라우저가 귀하의 사이트가 악의적이라고 경고 할 수 있습니다. 사람들이 귀하의 사이트에서 나쁜 경험을보고하는 경우 검색 엔진이 귀하의 평점을 떨어 뜨릴 수도 있습니다.

리디렉션에 대한 Google 웹 마스터 가이드 라인 : https://support.google.com/webmasters/answer/2721217?hl=ko&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>

두 페이지 예제를 함께 사용하면 재 라우팅의 유아 반복이 생겨 사용자가 사이트를 다시 사용하지 않을 것임을 보증하게됩니다.

158
Patrick W. McMahon
var url = 'asdf.html';
window.location.href = url;
157
user188973

JQuery없이 다음과 같이 할 수 있습니다.

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

JQuery 만 원하면 다음과 같이 할 수 있습니다.

$jq(window).attr("location","http://yourdomain.com");
138
ScoRpion

이것은 jQuery와 작동합니다 :

$(window).attr("location", "http://google.fr");
137
xloadx

# jQuery/JavaScript를 사용하여 HTML 페이지 리다이렉트

다음 예제 코드를 시도해보십시오.

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

window.location = "www.google.co.in";로 전체 URL을 제공하려는 경우.

84
Sakthi Karthik

이 줄을 코드에 넣어야합니다.

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

JQuery가없는 경우 JavaScript로 이동하십시오.

window.location.replace("http://stackoverflow.com");
window.location.href("http://stackoverflow.com");
77
Ashish Ratan

그래서 문제는 웹 사이트로 리디렉션하는 방법이 아닌 리디렉션 페이지를 만드는 방법입니다.

이를 위해 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로 리디렉션됩니다.

문서 링크

JavaScript를 사용하여 Simple 리디렉션 페이지를 만드는 방법

편집하다:

주목할 점도 하나 있습니다. 내 코드에 window.location.replace를 추가했는데, 리디렉션 페이지에 적합하다고 생각했기 때문에 window.location.replace를 사용하고 리디렉션되는 경우 브라우저에서 뒤로 버튼을 누르면 다시 리다이렉트 페이지가 나오면, 그 페이지로 돌아가서이 작은 데모를보십시오.

예:

프로세스 : 집에 저장 => 페이지를 Google로 리디렉션 => Google

언제 google에 : 구글 => 브라우저에서 뒤로 버튼 => 집에 저장

그래서 이것이 당신의 요구에 맞는다면 모든 것이 잘되어야합니다. 브라우저 기록에 리디렉션 페이지를 포함하려면이 코드를 바꿉니다.

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

if( url ) window.location.href = url;
75
iConnor

클릭 기능에서 다음을 추가하십시오.

window.location.href = "The URL where you want to redirect";
$('#id').click(function(){
    window.location.href = "http://www.google.com";
});
70
Swaprks

***** 원래의 질문은 - "JQUERY 사용법을 재조정하는 방법"이었고, 대답은 JQUERY의 도움을받습니다. >> 유용한 사용 사례 *****

자바 스크립트가있는 페이지로 리디렉션하는 방법은 다음과 같습니다.

  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를 사용하면 한 줄 또는 두 줄만으로이 코드에 연결할 수 있습니다.

69
SergeDirect

이 시도:

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

예제 코드 스 니펫 .

58
tilak

jQuery는 필요하지 않습니다. 당신은 이것을 할 수 있습니다 :

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

그것은 쉽다!

HTTP 요청을 시작하는 가장 좋은 방법은 document.loacation.href.replace('URL')을 사용하는 것입니다.

54
MayorMonty

먼저 올바르게 작성하십시오. 다른 링크를 위해 응용 프로그램 내에서 다른 링크를 탐색하려고합니다. 다음은 코드입니다.

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

원하는 경우 응용 프로그램 내에서 페이지를 탐색하려는 경우 코드가 있습니다.

51
Anup

JQuery에서 다음과 같이 리디렉션 할 수 있습니다.

$(location).attr('href', 'http://yourPage.com/');
50
Azam Alvi

JavaScript와 jQuery에서 다음 코드를 사용하여 한 페이지를 다른 페이지로 리디렉션 할 수 있습니다.

window.location.href="http://google.com";
window.location.replace("page1.html");
43
user2496033

자바 스크립트 :

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
42
lalithkumar

ECMAScript 6 + jQuery, 85 바이트

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

제발 날 죽이지 마세요, 농담이에요. 그것은 농담. 이건 농담이야.

이것은 "질문에 대한 답을 제공합니다"라는 의미에서 "jQuery 사용"솔루션을 요청했습니다.이 경우에는 어떻게 든 방정식에 강제 적용됩니다.

Ferrybig는 분명히 농담이 설명 될 필요가있다. (여전히 농담, 리뷰 형태에 제한적인 옵션이있을 것이라고 확신한다.

다른 답변은 location 또는 window 객체에 불필요하게 jQuery의 attr()을 사용하고 있습니다.

이 대답은 또한 그것을 학대하지만 더 우스운 방법으로. 이 함수를 사용하여 위치를 설정하는 대신 attr()을 사용하여 위치를 설정하는 함수를 검색합니다.

이 함수는 그것에 대해 jQuery가 없더라도 jQueryCode이라는 이름을 가지며, somethingCode 함수를 호출하는 것은 끔찍한 일입니다. 특히 무언가가 언어가 아닌 경우에는 더욱 그렇습니다.

"85 바이트"는 코드 골프에 대한 참조입니다. 골프는 분명히 코드 골프 밖에서해야 할 일이 아니며, 실제로이 답변은 실제로 골프를 치는 것이 아닙니다.

기본적으로, 싫증이 나.

42
1j01

다음은 시간 지연 방향 전환입니다. 지연 시간을 원하는대로 설정할 수 있습니다.

<!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
Stefan Gruenwald

이를 수행하는 세 가지 주요 방법이 있습니다.

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

과...

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

마지막 리디렉션은 검색 기록에서 리디렉션되기 전에 방문한 페이지를 저장하지 않기 때문에 일반적인 리디렉션의 경우 가장 좋습니다. 그러나 JavaScript로 탭을 열려면 위의 방법 중 하나를 사용하면됩니다 . 1

편집 : window 접두사는 선택 사항입니다.

36
Ben

난 그냥 또 다른 최신 jQuery 메서드 로이 어리 석음을 업데이 트해야했다 :

var url = 'http://www.fiftywaystoleaveyourlocation.com';
$(location).prop('href', url);
36
Epiphany

PHP, HTML 또는 jQuery 섹션 다음에 아래 코드를 작성하십시오. PHP 또는 HTML 섹션의 중간에있는 경우 <script> 태그를 사용하십시오.

location.href = "http://google.com"
35
Bidyut

페이지 또는 URL을 리디렉션하는 jQuery 코드

첫 번째 길

다음은 페이지 리디렉션을위한 jQuery 코드입니다. $ (document) .ready () 함수에이 코드를 추가 했으므로 페이지가로드되는 즉시 실행됩니다.

var url = "http://stackoverflow.com";
$(location).attr('href',url);

심지어 변수를 사용하는 대신 URL을 attr () 메소드에 직접 전달할 수도 있습니다.

두 번째 길

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

다음과 같이 코딩 할 수도 있습니다 (둘 다 내부적으로 같습니다).

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

Window.location과 window.location.href의 차이에 대해 궁금한 점이 있다면 후자의 경우 href 속성을 명시 적으로 설정하고있는 반면에 전자는 암시 적으로 설정하는 것을 볼 수 있습니다. window.location는 기본적으로 .href 속성을 설정하는 객체를 반환합니다.

세 번째 방법

JavaScript를 사용하여 페이지를 리디렉션하는 또 다른 방법은 window.location 객체의 replace() 메소드입니다. replace() 메소드에 새 URL을 전달할 수 있으며 HTTP 리디렉션을 시뮬레이트합니다. 그런데 window.location.replace() 메서드는 원래 페이지를 세션 기록에 넣지 않으므로 뒤로 버튼의 동작에 영향을 미칠 수 있습니다. 언젠가는, 그것은 당신이 원하는 것이므로 신중하게 사용하십시오.

// Doesn't put originating page in history
window.location.replace("http://stackoverflow.com");

네 번째 방법

like {attr (} _ method (jQuery 1.6 소개 후)

var url = "http://stackoverflow.com";
$(location).prop('href', url);
32

jQuery 에서는 $(location).attr('href', url)을 사용합니다.

$(document).ready(function(){
    var url = "https://www.youtube.com/watch?v=JwMKRevYa_M";
    $(location).attr('href', url); // Using this
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

raw JavaScript 에는 다음과 같은 여러 가지 방법이 있습니다.

window.location.href="https://www.youtube.com/watch?v=JwMKRevYa_M";

- href 속성을 명시 적으로 설정합니다.

window.location = "http://www.GameOfThrones.com";

- 암시 적으로합니까? window.location은 기본적으로 .href 속성을 설정하는 객체를 반환합니다.

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

- 현재 창 위치를 새 창 위치로 바꿉니다.

self.location = "http://www.somewebsite.com";

- 현재 윈도우 자체의 위치를 ​​설정합니다.

다음은 특정 시간 (3 초) 후에 JavaScript 리디렉션의 예입니다.

<script>
    setTimeout(function() {
        window.location.href = "https://www.youtube.com/";
    }, 3000);
</script>
29
Inconnu

JavaScript 사용 :

방법 1 :

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

방법 2 :

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

JQuery 사용하기 :

방법 1 : $ (위치)

$(location).attr('href', 'http://google.com');

방법 2 : 재사용 가능한 기능

jQuery.fn.redirectTo = function(url){
    window.location.href = url;
}

jQuery(window).redirectTo("http://google.com");
28
Kalpesh Panchal

자바 스크립트와 jQuery에서는 다음 코드를 사용하여 페이지를 리디렉션합니다.

window.location.href="http://google.com";
window.location.replace("page1.html");

하지만 jQuery에서 페이지를 리디렉션하는 함수를 만들 수 있습니다.

jQuery.fn.redirect=function(url)
{
    window.location.href=url;
}

이 함수를 다음과 같이 호출하십시오.

jQuery(window).redirect("http://stackoverflow.com/")
27
Muhammad Waqas

JQuery 함수를 사용하십시오.

$.extend({
  redirectPost: function(location, args) {
    var form = '';
    $.each(args, function(key, value) {
      form += '<input type="hidden" name="' + key + '" value="' + value + '">';
    });
    $('<form action="' + location + '" method="POST">' + form + '</form>').appendTo($(document.body)).submit();
  }
});

코드에서 다음과 같이 사용합니다.

$.redirectPost("addPhotos.php", {pimreference:  $("#pimreference").val(), tag: $("#tag").val()});
23
stratum

자바 스크립트에서 다음을 사용하여 특정 페이지로 리디렉션 할 수 있습니다.

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

또는

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

또는

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

JQuery 사용하기 :

$(window).attr("location","http://www.test.com");
18
vipul sorathiya
<script type="text/javascript">
var url = "https://yourdomain.com";

// IE8 and lower fix
if (navigator.userAgent.match(/MSIE\s(?!9.0)/))
{
    var referLink = document.createElement("a");
    referLink.href = url;
    document.body.appendChild(referLink);
    referLink.click();
}

// All other browsers
else { window.location.replace(url); }
</script>
17
Jaydeep Jadav

Javascript는 매우 광범위합니다. 다른 페이지로 건너 뛰려면 세 가지 옵션이 있습니다.

 window.location.href='otherpage.com';
 window.location.assign('otherpage.com');
 //and...

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

당신이 다른 페이지로 이동하기를 원한다면, 이것이 당신의 requirment 인 경우 이것들 중에서 어떤 것이라도 사용할 수 있습니다. 그러나 세 가지 옵션 모두 다른 상황으로 제한됩니다. 귀하의 요구에 따라 현명하게 선택하십시오.

당신이 그 개념에 대해 더 많은 지식을 갖고 있다면. 당신은 더 나아갈 수 있습니다.

window.location.href; returns the href (URL) of the current page
window.location.hostname; returns the domain name of the web Host
window.location.pathname; returns the path and filename of the current page
window.location.protocol; returns the web protocol used (http: or https:)
window.location.assign; loads a new document
16
Must Keem J

다음은 10 초 동안 다른 페이지로 리디렉션하는 코드입니다.

<script>
    function Redirect()
    {
        window.location="http://www.adarshkr.com";
    }

    document.write("You will be redirected to a new page in 10 seconds.");
    setTimeout('Redirect()', 10000);
</script>

Location.assign을 사용하여 버튼을 클릭하면 다음과 같이 할 수 있습니다.

<input type="button" value="Load new document" onclick="newPage()">
<script>
    function newPage() {
        window.location.assign("http://www.adarshkr.com")
    }
</script>
15
Adarsh Gowda K R

getRequestToForwardPage이 요청 매핑 ( URL ) 인 다음 코드와 같이 사용할 수 있습니다. URL을 사용할 수도 있습니다.

function savePopUp(){
    $.blockUI();
    $.ajax({
        url:"saveGuestHouse?roomType="+$("#roomType").val(),
        data: $("#popForm").serialize(),
        dataType: "json",
        error: (function() {
            alert("Server Error");
            $.unblockUI();
    }),
    success: function(map) {
        $("#layer1").hide();
        $.unblockUI();
        window.location = "getRequestToForwardPage";
    }
});

이것은 응용 프로그램의 동일한 컨텍스트에 대한 것입니다.

Jquery 특정 코드 만 사용하려면 다음 코드가 도움이 될 수 있습니다.

 $(location).attr('href',"http://www.google.com");
 $jq(window).attr("location","http://www.google.com");
 $(location).prop('href',"http://www.google.com"); 
15
Vinay Sharma
<script type="text/javascript">
    if(window.location.href === "http://stackoverflow.com") {      
         window.location.replace("https://www.google.co.in/");
       }
</script>
13
sneha

아래 방법을 사용하여 페이지를 리디렉션 할 수 있습니다.

  1. 머리에 메타 태그를 사용하여 - <meta http-equiv="refresh" content="0;url=http://your-page-url.com" />. content="0; ...는 페이지를 리디렉션해야하는 시간 (초) 후에 사용됩니다.

  2. JavaScript 사용 : window.location.href = "http://your-page-url.com";

  3. JQuery를 사용하여 : $(location).attr('href', 'http://yourPage.com/');

13
SantoshK

당신이 사용할 수있는:

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

replace() 메소드는 세션 기록에 원래 페이지를 저장하지 않으므로 사용자는 뒤로 버튼을 사용하여 되돌아 갈 수 없으며 다시 방향이 변경됩니다. 참고 :이 경우 브라우저 뒤로 버튼이 비활성화됩니다.

그러나 링크를 클릭하는 것과 같은 효과를 원하면 다음과 같이하십시오.

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

이 경우 브라우저 뒤로 버튼이 활성화됩니다.

13
madhur

용도:

function redirect(a) {
    location = a
}

그리고 그것을 다음과 같이 호출하십시오 : redirect([url]);

묵시적으로 href 후에 location을 사용할 필요가 없습니다.

12
cascading-style

다음과 같이 스크립트 섹션에서 Button Click 이벤트에 대한 Url.Action을 작성할 수 있습니다.

function onclick() {
        location.href = '@Url.Action("Index","Home")';
    }
12
wild coder

단일 페이지 응용 프로그램 , 동일한 응용 프로그램 경로 내에 있음

window.location.pathname = '/stack';

JavaScript :

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

jQuery :

$(location).attr('href', "http://www.stack.com");
$(window).attr('location', "http://www.stack.com");

Angular 4

import { Router } from '@angular/router';
export class NavtabComponent{
    constructor(private router: Router) {
    }
    this.router.navigate(['bookings/taxi']);
}
12
HD..

나는 다른 방법을 추가한다.

사이트의 특정 페이지/링크를 다른 페이지로 리디렉션하려면 다음 코드 줄을 추가하십시오.

<script>
    if(window.location.href == 'old_url')
    {
        window.location.href="new_url";
    }

    // Another URL redirect
    if(window.location.href == 'old_url2')
    {
        window.location.href="new_url2";
    }
</script>

실생활의 예를 들어,

<script>
    if(window.location.href == 'https://old-site.com')
    {
        window.location.href="https://new-site.com";
    }

    // Another URL redirect
    if(window.location.href == 'https://old-site.com/simple-post.html')
    {
        window.location.href="https://new-site.com/simple-post.html";
    }
</script>

이 간단한 코드를 사용하여 전체 사이트 또는 단일 페이지를 리디렉션 할 수 있습니다.

11
Maniruzzaman Akash

이것은 구현하기가 매우 쉽습니다. 당신이 사용할 수있는:

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

이전 페이지의 기록을 기억합니다. 그래서 브라우저의 뒤로 버튼을 클릭하여 되돌아 갈 수 있습니다.

또는:

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

이 방법은 이전 페이지의 기록을 기억하지 않습니다. 이 경우 뒤로 버튼이 비활성화됩니다.

11

순수한 자바 스크립트를 사용하기를 원한다면 document.location.href = "https://example.com" 또는 window.location.href = "https://example.com"를 사용하면 Firefox에서 호환성 문제가 발생한다는 것을 깨달았습니다. 대신 다음을 사용하십시오.

location.href = "https://example.com";
location.replace("http://example.com");

내 경우에는 문제가 해결되었습니다. 행운을 빕니다!

이미 JavaScript의 redirect () 함수를 사용하고 있습니다. 효과가 있습니다.

<script type="text/javascript">
    $(function () {
        //It's similar to HTTP redirect
        window.location.replace("http://www.Technomark.in");

        //It's similar to clicking on a link
        window.location.href = "Http://www.Technomark.in";
    })
</script>
10
user1012506
  1. location.assign () :

    경로를 전달하여 경로 경로를 지정하려면 .. Assign 은 경로가 할당 된 후에도 기록을 제공합니다.

    사용 방법 : 값을 전달해야합니다.

    예 : location.assign("http://google.com")

     Enter image description here

  2. location.href

    그것을 정의 할 수있는 경로를 지정하십시오 ... 그리고 일단 주어진 경로로 리다이렉트하고 설정을하면 역사를 유지할 것입니다 ...

    사용 방법 : 값을 할당해야합니다.

    예 : location.href = "http://google.com"

  3. location.replace () :

    기록을 유지하고 싶지 않으면 경로 교체가 도움이 될 것입니다. 일단 경로를 교체하면 기록이 남지 않습니다.

    사용 방법 : 값을 전달해야합니다.

    예 : location.replace("http://google.com")

     Enter image description here


assign()href은 비슷하며 둘 다 기록을 보유 할 수 있습니다. assign은 값을 전달하여 작동하며 href는 할당하여 작동합니다.

당신은 jQuery를 사용하지 않고 JavaScript 자체를 사용하여,

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

아래와 같이 jQuery를 사용하여 비슷한 결과를 얻을 수 있습니다. 위와 똑같은 일을합니다.

$(window).attr('location', "http://www.google.com");
$(location).attr('href', "http://www.google.com");

당신은 쉽게 둘 사이의 차이를 이해할 수 있습니다 ...

다음은 Location 객체입니다.

 Location API from chrome

10
Silent Spectator

동일한 앱 내의 경로로 간단하게 리디렉션하려는 경우

window.location.pathname = '/examplepath'

가야 할 길입니다.

9
RuNpiXelruN

location.replace()을 사용하면 리디렉션되지만 이전 페이지의 기록은 저장하지 않습니다. 양식 제출시이 기능을 사용하는 것이 좋습니다. 그러나 당신이 당신의 역사를 지키고 싶을 때 당신은 location.href=//path

예 :

// form with steps
document.getElementById('#next').onclick = function() {
   window.location.href='/step2' // iteration of steps;
}

// go to next step
document.getElementById("#back').onclick = function() {
   window.history.back();
}

// finish 
document.getElementById("#finish').onclick = function() {
   window.location.href = '/success';
}

// on success page
window.onload = function() {
    setTimeout(function() {
       window.location.replace('/home'); // i can't go back to success page by pressing the back button
    },3000);
}
8
Andrei Todorut

클라이언트 측에서 리디렉션하는 모든 방법 :

<!DOCTYPE html>
<html>
    <head>
        <title>JavaScript and jQuery example to redirect a page or URL </title>
    </head>
    <body>
        <div id="redirect">
            <h2>Redirecting to another page</h2>
        </div>

        <script src="scripts/jquery-1.6.2.min.js"></script>
        <script>
            // JavaScript code to redirect a URL
            window.location.replace("http://stackoverflow.com");
            // window.location.replace('http://code.shouttoday.com');

            // Another way to redirect page using JavaScript

            // window.location.assign('http://code.shouttoday.com');
            // window.location.href = 'http://code.shouttoday.com';
            // document.location.href = '/relativePath';

            //jQuery code to redirect a page or URL
            $(document).ready(function(){
                //var url = "http://code.shouttoday.com";
                //$(location).attr('href',url);
                // $(window).attr('location',url)
                //$(location).prop('href', url)
            });
        </script>
    </body>
</html>
8
Zigri2612

jQuery/JavaScript를 사용하여 사용자 리디렉션

JQuery 또는 JavaScript에서 위치 객체를 사용하여 사용자를 다른 웹 페이지로 리디렉션 할 수 있습니다.

jQuery에서

한 페이지에서 다른 페이지로 사용자를 리디렉션하는 코드는 다음과 같습니다.

var url = 'http://www.example.com';
$(location).attr('href', url);

JavaScript에서

한 페이지에서 다른 페이지로 사용자를 리디렉션하는 코드는 다음과 같습니다.

var url = 'http://www.example.com';
window.location.href = url;

또는

var url = 'http://www.example.com';
window.location = url;
6
devst3r

이것이 내가 그것을 사용하는 방법이다.

   window.location.replace('yourPage.aspx');   
   // If you're on root and redirection page is also on the root

   window.location.replace(window.location.Host + '/subDirectory/yourPage.aspx');

   // If you're in sub directory and redirection page is also in some other sub directory.
5
dnxit

저의 업무 경험에서, JavaScript는 리디렉션하는 것이 훨씬 낫습니다.

위치 변경 방법에 따라 다릅니다. 사용자 기록에 웹 사이트를 기록하려면 window.location.href='ur website';를 사용하십시오. 그렇지 않으면 히스토리에 로그인하지 않고 window.location.replace("your website");을 사용하십시오.

4
Omkaar.K