Como posso atualizar uma página com jQuery?

Como posso atualizar uma página com jQuery?

    Use location.reload() :

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

    A function reload() usa um parâmetro opcional que pode ser definido como true para forçar o recarregamento do servidor em vez do cache. O parâmetro padrão é false , portanto, por padrão, a página pode recarregar a partir do cache do navegador.

    Isso deve funcionar em todos os navegadores, mesmo sem o jQuery:

     location.reload(); 

    Existem várias maneiras ilimitadas de atualizar uma página com 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)

      Se precisássemos extrair o documento do servidor da web novamente (por exemplo, quando o conteúdo do documento fosse alterado dinamicamente), passaríamos o argumento como true .

    Você pode continuar a lista sendo criativa:

    • window.location = window.location
    • window.self.window.self.window.window.location = window.location
    • … e outras 534 maneiras
     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 { 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; } 
      

    Muitas maneiras funcionarão, suponho:

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

    Para recarregar uma página com jQuery, faça:

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

    A abordagem aqui que usei foi o Ajax jQuery. Eu testei no Chrome 13. Então eu coloquei o código no manipulador que irá acionar o recarregamento. O URL é "" , o que significa esta página .

    Se a página atual foi carregada por uma solicitação POST, você pode querer usar

     window.location = window.location.pathname; 

    ao invés de

     window.location.reload(); 

    porque window.location.reload() solicitará confirmação se chamado em uma página que foi carregada por uma solicitação POST.

    A questão deveria ser,

    Como atualizar uma página com JavaScript

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

    Você é mimado pela escolha.

    Você pode querer usar

     location.reload(forceGet) 

    forceGet é um booleano e opcional.

    O padrão é false, que recarrega a página do cache.

    Defina esse parâmetro como true se você quiser forçar o navegador a obter a página do servidor para se livrar do cache também.

    Ou apenas

     location.reload() 

    Se você quiser rápido e fácil com o cache.

    Três abordagens com diferentes comportamentos relacionados ao cache:

    • location.reload(true)

      Nos navegadores que implementam o parâmetro forcedReload de location.reload() , recarrega buscando uma nova cópia da página e todos os seus resources (scripts, folhas de estilo, imagens, etc.). Não servirá nenhum recurso do cache – obtém cópias novas do servidor sem enviar headers if-modified-since ou if-none-match na solicitação.

      Equivalente ao usuário fazer um “hard reload” nos navegadores, onde isso é possível.

      Observe que a passagem true para location.reload() é suportada no Firefox (consulte MDN ) e Internet Explorer (consulte MSDN ), mas não é suportada universalmente e não faz parte da especificação W3 HTML 5 , nem da especificação HTML 5.1 do rascunho W3 , nem o Padrão de Vida HTML do WHATWG .

      Em navegadores sem suporte, como o Google Chrome, o location.reload(true) se comporta da mesma forma que o location.reload() .

    • location.reload() ou location.reload(false)

      Recarrega a página, buscando uma cópia nova e não armazenada em cache do próprio HTML da página e realizando solicitações de revalidação do RFC 7234 para quaisquer resources (como scripts) que o navegador armazenou em cache, mesmo se eles forem recentes, pois o RFC 7234 permite que o navegador atenda sem revalidação.

      Exatamente como o navegador deve utilizar seu cache ao executar uma chamada location.reload() não é especificada ou documentada, tanto quanto eu posso dizer; Eu determinei o comportamento acima por experimentação.

      Isso é equivalente ao usuário simplesmente pressionando o botão “atualizar” no navegador.

    • location = location (ou infinitamente muitas outras técnicas possíveis que envolvem a atribuição à location ou às suas propriedades)

      Só funciona se o URL da página não contiver um fragment / hashbang!

      Recarrega a página sem refazer ou revalidar novos resources do cache. Se o próprio HTML da página estiver atualizado, isso recarregará a página sem executar nenhuma solicitação HTTP.

      Isso é equivalente (de uma perspectiva de armazenamento em cache) ao usuário que abre a página em uma nova guia.

      No entanto, se o URL da página contiver um hash, isso não terá efeito.

      Mais uma vez, o comportamento de cache aqui não é especificado, tanto quanto eu sei; Eu determinei isso testando.

    Então, em resumo, você quer usar:

    • location = location para uso máximo do cache, contanto que a página não tenha um hash em seu URL. Nesse caso, isso não funcionará
    • location.reload(true) para buscar novas cópias de todos os resources sem revalidar (embora não seja universalmente suportado e não se comportará de maneira diferente em location.reload() em alguns navegadores, como o Chrome)
    • location.reload() para reproduzir fielmente o efeito do usuário clicar no botão ‘atualizar’.

    window.location.reload() irá recarregar a partir do servidor e irá carregar todos os seus dados, scripts, imagens, etc. novamente.

    Então, se você quiser apenas atualizar o HTML, o window.location = document.URL retornará muito mais rápido e com menos tráfego. Mas não recarregará a página se houver um hash (#) na URL.

    A function jQuery Load também pode executar uma atualização de página:

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

    Aqui está uma solução que recarrega de forma assíncrona uma página usando jQuery. Evita o flicker causado por window.location = window.location . Este exemplo mostra uma página que é recarregada continuamente, como em um painel. Ele é testado em batalha e está sendo executado em uma TV de exibição de informações na Times Square.

     < !DOCTYPE html>   ...      
    ...

    Notas:

    • Usar $.ajax diretamente como $.get('',function(data){$(document.body).html(data)}) faz com que os arquivos css / js sejam danificados pelo cache , mesmo se você usar cache: true , é por isso que usamos parseHTML
    • parseHTML NÃO encontrará uma marca body para que todo o seu corpo precise ir em uma div extra, espero que essa pepita de conhecimento o ajude um dia, você pode adivinhar como escolhemos a identificação para essa div
    • Use http-equiv="refresh" apenas no caso de algo dar errado com javascript / servidor hiccup, então a página ainda recarregará sem você receber uma chamada telefônica
    • Esta abordagem provavelmente vaza memory de alguma forma, a atualização http-equiv corrige

    Como a questão é genérica, vamos tentar resumir possíveis soluções para a resposta:

    Solução JavaScript simples e simples :

    A maneira mais fácil é uma solução de uma linha colocada de maneira apropriada:

     location.reload(); 

    O que muitas pessoas estão faltando aqui, porque esperam obter alguns “pontos” é que a própria function reload () oferece um booleano como parâmetro (detalhes: https://developer.mozilla.org/en-US/docs/Web / API / Location / reload ).

    O método Location.reload () recarrega o recurso do URL atual. Seu parâmetro exclusivo opcional é um booleano, que, quando é verdade, faz com que a página seja sempre recarregada do servidor. Se for falso ou não especificado, o navegador pode recarregar a página de seu cache.

    Isso significa que existem duas maneiras:

    Solução 1: Forçar o recarregamento da página atual do servidor

     location.reload(true); 

    Solução 2: Recarregando do cache ou servidor (com base no navegador e sua configuração)

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

    E se você quiser combiná-lo com jQuery e ouvir um evento, eu recomendaria usar o método “.on ()” em vez de “.click” ou outros wrappers de evento, por exemplo, uma solução mais adequada seria:

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

    eu encontrei

     window.location.href = ""; 

    ou

     window.location.href = null; 

    também faz uma atualização de página.

    Isso torna muito mais fácil recarregar a página, removendo qualquer hash. Isso é muito bom quando estou usando o AngularJS no simulador do iOS, para que não precise executar novamente o aplicativo.

    Você pode usar o método location.reload() JavaScript . Este método aceita um parâmetro booleano. true ou false . Se o parâmetro é true ; a página sempre recarregada do servidor. Se é false ; qual é o padrão ou com o navegador de parâmetros vazio, recarregue a página de seu cache.

    Com true parâmetro

      

    Com default parâmetro default / false

       

    Usando jquery

       

    Você não precisa de nada do jQuery, para recarregar uma página usando JavaScript puro , apenas use a function reload na propriedade location assim:

     window.location.reload(); 

    Por padrão, isso recarregará a página usando o cache do navegador (se existir) …

    Se você quiser forçar recarregar a página, apenas passe um valor verdadeiro para recarregar o método como abaixo …

     window.location.reload(true); 

    Além disso, se você já está no escopo da janela , você pode se livrar da janela e fazer:

     location.reload(); 

    Use onclick="return location.reload();" dentro da tag de botão.

      

    Solução simples de Javascript:

      location = location; 
      

    Se você estiver usando jQuery e quiser atualizar, tente adicionar seu jQuery em uma function javascript:

    Eu queria esconder um iframe de uma página ao clicar em um h3 , para mim funcionou, mas não consegui clicar no item que permitia visualizar o iframe a menos que eu atualizasse o navegador manualmente … não ideal .

    Eu tentei o seguinte:

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

    Misturando javascript simples Jane com o seu jQuery deve funcionar.

     // code where hide (where location.reload was used)function was integrated, below iFrameInsert = () => { var file = `Fe1FVoW0Nt4`; $("#frame").html(`

    Close Player

    `); $("h3").enter code hereclick(hide); } // View Player $("#id-to-be-clicked").click(iFrameInsert);