jQuery로 페이지를 새로 고치려면 어떻게 해야 합니까?
질문자 :luca
$('#something').click(function() { location.reload(); });
reload()
함수는 캐시가 아닌 서버에서 강제로 다시 로드 true
로 설정할 수 있는 선택적 매개변수를 사용합니다. 매개변수의 기본값은 false
이므로 기본적으로 페이지는 브라우저의 캐시에서 다시 로드될 수 있습니다.
Roy
JavaScript로 페이지를 새로고침하는 방법 에는 여러 가지가 있습니다.
-
location.reload()
-
history.go(0)
-
location.href = location.href
-
location.href = location.pathname
-
location.replace(location.pathname)
location.reload(false)
웹 서버에서 문서를 다시 가져와야 하는 경우(예: 문서 내용이 동적으로 변경되는 경우) 인수를
true
로 전달합니다.
목록을 계속 창의적으로 만들 수 있습니다.
-
window.location = window.location
-
window.self.window.self.window.window.location = window.location
- ...및 기타 534가지 방법
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
을 사용하는 이유입니다 parseHTML
은body
태그를 찾지 않으므로 전신이 추가 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를 사용 하여 페이지를 다시 로드하는 방법이 명시되어 있기 때문에 미래의 독자를 위해 무언가를 더 추가할 생각입니다.
jQuery 는 HTML의 클라이언트 측 스크립팅을 단순화하도록 설계된 크로스 플랫폼 JavaScript 라이브러리입니다.
~ 위키피디아 ~
따라서 jquery 또는 jquery의 기초가 javascript를 기반으로 한다는 것을 이해하게 될 것입니다. 따라서 순수한 자바 스크립트 를 사용하는 것이 간단한 일에 관해서는 훨씬 더 좋습니다.
그러나 jquery 솔루션이 필요한 경우 여기에 하나가 있습니다.
$(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
'etc. > StackOverFlow' 카테고리의 다른 글
.prop() 대 .attr() (0) | 2021.11.13 |
---|---|
딥 클로닝 개체 (0) | 2021.11.13 |
Bash 스크립트에서 프로그램이 있는지 어떻게 확인할 수 있습니까? (0) | 2021.11.13 |
'android.os.NetworkOnMainThreadException'을 어떻게 고칠 수 있습니까? (0) | 2021.11.13 |
환경 변수 값에 액세스하는 방법 (0) | 2021.11.13 |