etc./StackOverFlow

jQuery로 페이지를 새로 고치려면 어떻게 해야 합니까?

청렴결백한 만능 재주꾼 2021. 11. 13. 00:14
반응형

질문자 :luca


jQuery로 페이지를 새로 고치려면 어떻게 해야 합니까?



location.reload() :

 $('#something').click(function() { location.reload(); });

reload() 함수는 캐시가 아닌 서버에서 강제로 다시 로드 true 로 설정할 수 있는 선택적 매개변수를 사용합니다. 매개변수의 기본값은 false 이므로 기본적으로 페이지는 브라우저의 캐시에서 다시 로드될 수 있습니다.


Roy

JavaScript로 페이지를 새로고침하는 방법 에는 여러 가지가 있습니다.

  1. location.reload()
  2. history.go(0)
  3. location.href = location.href
  4. location.href = location.pathname
  5. location.replace(location.pathname)
  6. location.reload(false)

    웹 서버에서 문서를 다시 가져와야 하는 경우(예: 문서 내용이 동적으로 변경되는 경우) 인수를 true 로 전달합니다.

목록을 계속 창의적으로 만들 수 있습니다.

 var methods = [ "location.reload()", "history.go(0)", "location.href = location.href", "location.href = location.pathname", "location.replace(location.pathname)", "location.reload(false)" ]; var $body = $("body"); for (var i = 0; i < methods.length; ++i) { (function(cMethod) { $body.append($("<button>", { text: cMethod }).on("click", function() { eval(cMethod); // don't blame me for using eval })); })(methods[i]); }
 button { background: #2ecc71; border: 0; color: white; font-weight: bold; font-family: "Monaco", monospace; padding: 10px; border-radius: 4px; cursor: pointer; transition: background-color 0.5s ease; margin: 2px; } button:hover { background: #27ae60; }
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


Ionică Bizău

이것은 jQuery가 없어도 모든 브라우저에서 작동해야 합니다.

 location.reload();

Thorben

많은 방법이 작동할 것입니다.

  • window.location.reload();
  • history.go(0);
  • window.location.href=window.location.href;

David

jQuery로 페이지를 다시 로드하려면 다음을 수행하십시오.

 $.ajax({ url: "", context: document.body, success: function(s,x){ $(this).html(s); } });

여기서 사용한 접근 방식은 Ajax jQuery입니다. Chrome 13에서 테스트했습니다. 그런 다음 다시 로드를 트리거할 핸들러에 코드를 넣습니다. URL이 페이지 를 의미하는 "" 입니다.


Peter

현재 페이지가 POST 요청에 의해 로드된 경우 다음을 사용할 수 있습니다.

 window.location = window.location.pathname;

대신에

 window.location.reload();

window.location.reload() 는 POST 요청에 의해 로드된 페이지에서 호출되는 경우 확인 메시지를 표시하기 때문입니다.


SumairIrshad

질문은 다음과 같아야 합니다.

JavaScript 로 페이지를 새로 고치는 방법

 window.location.href = window.location.href; //This is a possibility window.location.reload(); //Another possiblity history.go(0); //And another

선택의 여지가 있습니다.


JohnP

사용하고 싶을 수도 있습니다.

 location.reload(forceGet)

forceGet 은 부울이며 선택 사항입니다.

기본값은 캐시에서 페이지를 다시 로드하는 false입니다.

브라우저가 서버에서 페이지를 가져와 캐시도 제거하도록 하려면 이 매개변수를 true로 설정하십시오.

아니면 그냥

 location.reload()

캐싱으로 빠르고 쉽게 원하는 경우.


Pinch

캐시 관련 동작이 다른 세 가지 접근 방식:

  • location.reload(true)

    location.reload() forcedReload 매개변수를 구현하는 브라우저에서 페이지와 모든 리소스(스크립트, 스타일시트, 이미지 등)의 새 복사본을 가져와서 다시 로드합니다. 캐시에서 리소스를 제공 하지 않습니다 - 요청에서 if-modified-since 또는 if-none-match 헤더를 보내지 않고 서버에서 새로운 복사본을 가져옵니다.

    가능한 경우 사용자가 브라우저에서 "하드 다시 로드"를 수행하는 것과 같습니다.

    location.reload() true 를 전달하는 것은 Firefox( MDN 참조) 및 Internet Explorer(MSDN 참조)에서 지원되지만 보편적으로 지원되지 않으며 W3 HTML 5 사양 이나 W3 초안 HTML 5.1 사양 의 일부도 아닙니다. WHATWG HTML 생활 표준 .

    Google 크롬과 같이 지원되지 않는 브라우저에서 location.reload(true) location.reload() 와 동일하게 작동합니다.

  • location.reload() 또는 location.reload(false)

    다시로드 페이지, 신선한를 가져 오는, 페이지 HTML 자체 및 수행 이외의 캐시 된 복사본 RFC 7234 가있는 경우에도, 브라우저 캐시 것을 (스크립트 같은) 어떤 리소스에 대한 재 검증 요청을 신선한은 RFC 7234 개 허용 봉사 할 수있는 브라우저입니다 재검증 없이.

    location.reload() 호출을 수행할 때 브라우저가 캐시를 정확히 활용하는 방법은 내가 말할 수 있는 한 지정되거나 문서화되지 않았습니다. 실험을 통해 위의 동작을 결정했습니다.

    이것은 사용자가 단순히 브라우저에서 "새로고침" 버튼을 누르는 것과 같습니다.

  • location = location location 또는 해당 속성에 할당하는 것과 관련된 다른 가능한 많은 기술)

    페이지의 URL에 fragid/hashbang이 포함되어 있지 않은 경우에만 작동합니다!

    refetching 또는 재 검증 without 다시로드 페이지를 새로운 캐시에서 자원을. 페이지의 HTML 자체가 최신이면 HTTP 요청을 전혀 수행하지 않고 페이지를 다시 로드합니다.

    이것은 캐싱 관점에서 사용자가 새 탭에서 페이지를 여는 것과 동일합니다.

    그러나 페이지의 URL에 해시가 포함되어 있으면 아무 효과가 없습니다.

    다시 말하지만 여기에서 캐싱 동작은 내가 아는 한 지정되지 않았습니다. 테스트를 통해 결정했습니다.

따라서 요약하면 다음을 사용하려고 합니다.

  • location = location 캐시의 최대 사용하기 위해이 페이지의 URL에서 해시를하지 않는 경우이 작동하지 않습니다
  • location.reload(true) 재 검증없이 모든 자원의 새 복사본을 가져 오기 위해 (이 보편적으로 지원되지 않는 있지만 및에 더 다르게 동작하지 않습니다 location.reload() 크롬과 같은 일부 브라우저에서)
  • location.reload() 사용자가 '새로고침' 버튼을 클릭하는 효과를 충실히 재현합니다.

Mark Amery

window.location.reload() 는 서버에서 다시 로드하고 모든 데이터, 스크립트, 이미지 등을 다시 로드합니다.

따라서 HTML을 새로 고치고 싶다면 window.location = document.URL 이 훨씬 빠르고 적은 트래픽으로 반환됩니다. 그러나 URL에 해시(#)가 있으면 페이지를 다시 로드하지 않습니다.


user762330

jQuery Load 함수는 페이지 새로 고침을 수행할 수도 있습니다.

 $('body').load('views/file.html', function () { $(this).fadeIn(5000); });

Suleman Mirza

질문이 일반적이므로 답변에 대한 가능한 솔루션을 요약해 보겠습니다.

간단한 일반 JavaScript 솔루션 :

가장 쉬운 방법은 적절한 방식으로 배치된 한 줄 솔루션입니다.

 location.reload();

많은 사람들이 "포인트"를 얻기를 희망하기 때문에 여기서 놓치고 있는 것은 reload() 함수 자체가 부울을 매개변수로 제공한다는 것입니다(자세한 내용: https://developer.mozilla.org/en-US/docs/Web /API/위치/다시 로드 ).

Location.reload() 메서드는 현재 URL에서 리소스를 다시 로드합니다. 선택적 고유 매개변수는 부울이며, true인 경우 페이지가 항상 서버에서 다시 로드되도록 합니다. false이거나 지정되지 않은 경우 브라우저는 캐시에서 페이지를 다시 로드할 수 있습니다.

이는 두 가지 방법이 있음을 의미합니다.

해결 방법 1: 서버에서 현재 페이지를 강제로 다시 로드

 location.reload(true);

솔루션 2: 캐시 또는 서버에서 다시 로드(브라우저 및 구성 기반)

 location.reload(false); location.reload();

이벤트를 수신하는 jQuery와 결합하려면 ".click" 또는 다른 이벤트 래퍼 대신 ".on()" 메서드를 사용하는 것이 좋습니다. 예를 들어 더 적절한 솔루션은 다음과 같습니다.

 $('#reloadIt').on('eventXyZ', function() { location.reload(true); });

Fer To

다음은 jQuery를 사용하여 페이지를 비동기식으로 다시 로드하는 솔루션입니다. window.location = window.location 인한 깜박임을 방지합니다. 이 예는 대시보드에서와 같이 지속적으로 다시 로드되는 페이지를 보여줍니다. 그것은 전투 테스트를 거쳤으며 타임 스퀘어의 정보 디스플레이 TV에서 실행되고 있습니다.

 <!DOCTYPE html> <html lang="en"> <head> ... <meta http-equiv="refresh" content="300"> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script> <script> function refresh() { $.ajax({ url: "", dataType: "text", success: function(html) { $('#fu').replaceWith($.parseHTML(html)); setTimeout(refresh,2000); } }); } refresh(); </script> </head> <body> <div id="fu"> ... </div> </body> </html>

노트:

  • $.get('',function(data){$(document.body).html(data)}) 와 같이 $.ajax cache: true 를 사용하더라도 css/js 파일이 캐시 버스트(cache-busted)를 받게 됩니다. parseHTML 을 사용하는 이유입니다
  • parseHTMLbody 태그를 찾지 않으므로 전신이 추가 div에 들어가야 합니다. 이 지식이 언젠가는 도움이 되기를 바랍니다. 우리가 해당 div
  • 자바스크립트/서버 딸꾹질에 문제가 있는 경우를 대비하여 http-equiv="refresh" 사용하세요. 그러면 전화를 받지 않고도 페이지가 계속 새로고침됩니다.
  • 이 접근 방식은 아마도 어떻게 든 메모리를 누수시킬 것입니다. http-equiv 새로 고침은 다음을 수정합니다.

William Entriken

나는 찾았다

 window.location.href = "";

또는

 window.location.href = null;

또한 페이지를 새로 고칩니다.

이렇게 하면 해시를 제거하는 페이지를 다시 로드하는 것이 훨씬 쉬워집니다. 이것은 iOS 시뮬레이터에서 AngularJS를 사용할 때 매우 유용하므로 앱을 다시 실행할 필요가 없습니다.


Mujah Maskey

JavaScript location.reload() 메서드를 사용할 수 있습니다. 이 메소드는 부울 매개변수를 허용합니다. true 또는 false . 매개변수가 true ; 페이지는 항상 서버에서 다시 로드됩니다. false 이면 ; 기본값이거나 비어 있는 매개변수를 사용하는 브라우저는 캐시에서 페이지를 다시 로드합니다.

true 매개변수로

 <button type="button" onclick="location.reload(true);">Reload page</button>

default / false 매개변수 사용

 <button type="button" onclick="location.reload();">Reload page</button>

제이쿼리 사용

 <button id="Reloadpage">Reload page</button> <script type="text/javascript"> $('#Reloadpage').click(function() { location.reload(); }); </script>

Poorna Senani Gamage

순수 JavaScript를 사용하여 페이지를 다시 로드하려면 jQuery에서 아무 것도 필요하지 않습니다 . 다음과 같이 위치 속성에 다시 로드 기능을 사용하면 됩니다.

 window.location.reload();

기본적으로 브라우저 캐시(있는 경우)를 사용하여 페이지를 다시 로드합니다.

페이지를 강제로 다시 로드하려면 아래와 같이 reload 메소드에 true 값을 전달하면 됩니다...

 window.location.reload(true);

또한 이미 창 범위에 있는 경우 창을 제거하고 다음을 수행할 수 있습니다.

 location.reload();

Alireza

사용하다

 location.reload();

또는

 window.location.reload();

H.Ostwal

onclick="return location.reload();" 버튼 태그 내.

 <button id="refersh-page" name="refersh-page" type="button" onclick="return location.reload();">Refesh Page</button>

Frank

jQuery를 사용 중이고 새로고침하려면 javascript 함수에 jQuery를 추가해 보십시오.

h3 클릭할 때 페이지에서 iframe을 숨기고 싶었습니다. 저에게는 효과가 있었지만 브라우저를 수동으로 새로 고치지 않는 한 시작할 iframe 을 볼 수 있는 항목을 클릭할 수 없었습니다...이상적이지 않습니다. .

나는 다음을 시도했다 :

 var hide = () => { $("#frame").hide();//jQuery location.reload(true);//javascript };

일반 Jane 자바 스크립트를 jQuery와 혼합하면 작동합니다.

 // code where hide (where location.reload was used)function was integrated, below iFrameInsert = () => { var file = `Fe1FVoW0Nt4`; $("#frame").html(`<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/${file}\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen></iframe><h3>Close Player</h3>`); $("h3").enter code hereclick(hide); } // View Player $("#id-to-be-clicked").click(iFrameInsert);

J. Moreno

여기에 있는 모든 답변이 좋습니다. 하여 페이지를 다시 로드하는 방법이 명시되어 있기 때문에 미래의 독자를 위해 무언가를 더 추가할 생각입니다.

jQuery 는 HTML의 클라이언트 측 스크립팅을 단순화하도록 설계된 크로스 플랫폼 JavaScript 라이브러리입니다.

~ 위키피디아 ~

또는 기초가 기반으로 한다는 것을 이해하게 될 것입니다. 따라서 순수한 를 사용하는 것이 간단한 일에 관해서는 훨씬 더 좋습니다.

솔루션이 필요한 경우 여기에 하나가 있습니다.

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

Roshana Pitigala

현재 페이지를 다시 로드하는 방법에는 여러 가지가 있지만 어떻게든 이러한 접근 방식을 사용하면 페이지가 업데이트된 것을 볼 수 있지만 캐시 값이 거의 없는 것은 아니므로 해당 문제를 극복하거나 어려운 요청을 하려면 아래 코드를 사용하십시오.

 location.reload(true); //Here, it will make a hard request or reload the current page and clear the cache as well. location.reload(false); OR location.reload(); //It can be reload the page with cache

ankitkanojia

두 가지 방법으로 작성할 수 있습니다. 첫 번째는 단순 새로 고침 이라고도 하는 페이지를 다시 로드하는 표준 방법입니다.

 location.reload(); //simple refresh

다른 하나는 하드 새로 고침 이라고 합니다. 여기에서 부울 표현식을 전달하고 true로 설정합니다. 이렇게 하면 이전 캐시를 파괴하고 내용을 처음부터 표시하는 페이지를 다시 로드합니다.

 location.reload(true);//hard refresh

infomasud

<i id="refresh" class="fa fa-refresh" aria-hidden="true"></i> <script> $(document).on('click','#refresh',function(){ location.reload(true); }); </script>

ankit singh

간단한 자바스크립트 솔루션:

 location = location; 

 <button onClick="location = location;">Reload</button>


Unmitigated

아마도 가장 짧을 것입니다(12자) - 사용 기록

 history.go()

Kamil Kiełczewski

$(document).on("click", "#refresh_btn", function(event) { window.location.replace(window.location.href); });

Ankush Kumar

JavaScript에서 가장 짧습니다.

 window.location = '';

Na Nonthasen

모두 사용해야 할 수도 있습니다.

 location.reload(forceGet)

forceGet 은 부울이며 선택 사항입니다.

기본값은 캐시 페이지를 다시 로드하는 false입니다.


user15255379

당신은 사용해야 할 수도 있습니다

 location.reload()

또는 또한 사용해야 할 수도 있습니다

 location.reload(forceGet)

forceGet 은 부울이며 선택 사항입니다.

브라우저가 서버에서 페이지를 가져와 캐시도 제거하도록 하려면 이 매개변수를 true로 설정하십시오.


Tharindu Lakshan

다음은 jQuery를 사용 하여 페이지를 다시 로드하는 데 사용할 수 있는 몇 가지 코드입니다.

jQuery 래퍼를 사용하고 기본 dom 요소를 추출합니다.

코드에서 jQuery 느낌 을 원하고 코드의 속도/성능 에 신경 쓰지 않는다면 이것을 사용하십시오.

귀하의 필요에 맞는 1에서 10까지 선택하거나 이 전에 패턴과 답변을 기반으로 더 추가하십시오.

 <script> $(location)[0].reload(); //1 $(location).get(0).reload(); //2 $(window)[0].location.reload(); //3 $(window).get(0).location.reload(); //4 $(window)[0].$(location)[0].reload(); //5 $(window).get(0).$(location)[0].reload(); //6 $(window)[0].$(location).get(0).reload(); //7 $(window).get(0).$(location).get(0).reload(); //8 $(location)[0].href = ''; //9 $(location).get(0).href = ''; //10 //... and many other more just follow the pattern. </script>

dcangulo

출처 : http:www.stackoverflow.com/questions/5404839/how-can-i-refresh-a-page-with-jquery

반응형