Jump to content
kernmatheus

Atualização do JS - evitar erros por cache

Recommended Posts

Boa noite,

 

Galera, utilizo uma aplicação que me permite inserir arquivos JavaScript customizados em algumas páginas, e por vezes quando realizo alguma alteração considerável no JS, preciso solicitar aos usuários da ferramenta para limparem o cache, evitando que eles fiquem com as regras antigas do JS e gere algum erro.

 

Existe alguma forma de esporadicamente quando eu realizar alterações no JS, forçar a limpeza de cache nas máquinas clientes? Ou então de não permitir que o navegador salve cache deste JS que eu customizo as regras?

Share this post


Link to post
Share on other sites

Olá!
você pode passar um identificador qualquer depois do nome do arquivo assim:

<script src='seuJavascript.js?v1'></script>
Assim todos vão ter q carregar de novo por causa desse ?v1
na próxima atualização, faça assim:
<script src='seuJavascript.js?v1.5'></script>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By cmoreira1300
      Meu programa não consegue identificar o dotenv na middleware
      Eu estava fazendo um CRUD simples, implementei o dotenv no meu programa, está funcionando quando faço a conexão com o banco de dados e a inserção e uma função normal,  mais quando vou fazer isso dentro de uma middleware ele não chama meu dotenv, só funciona quando tiro o process.env e ponho as informações direto na função de conexão.
      require( 'dotenv' ).config( { path: '../../.env' } ) const mysql = require( 'mysql2' ) // DESSA FORMA NÃO FUNCIONA const connection_pool = mysql.createPool( { host: process.env.DB_HOST, user: process.env.DB_USER, database: process.env.DB_DATABASE, password: process.env.DB_PASS } ) // DESSA FORMA FUNCIONA // const connection_pool = mysql.createPool( { // host: 'localhost', // user: 'carlos', // database: 'simple_crud', // password: 'pass1241' // } ) module.exports = connection_pool.promise() INSERÇÃO NO BANCO DE DADOS
      const db_conn = require( '../db/connection' ) const createNewClient = ( name ) => { return db_conn.execute( `INSERT INTO client ( name ) values (?)`, [ name ] ) } module.exports = { createNewClient } FAZENDO A INSERÇÃO NO MIDDLEWARE
      const data = require( '../data/client' ) const createClient = ( req, res, next ) => { const client = req.body.name data.createNewClient( client ) .then( () => { res.status( 200 ).json( { 'status': 'sucess', 'client': client } ) } ) .catch( ( err ) => { res.status( 404 ).json( { status: 'error', error: err } ) } ) .finally( () => { next() } ) } module.exports = { createClient } { "status": "error", "error": { "message": "Access denied for user ''@'localhost' (using password: YES)", "code": "ER_ACCESS_DENIED_ERROR", "errno": 1045, "sqlState": "28000", "sqlMessage": "Access denied for user ''@'localhost' (using password: YES)" } }  Esse é o erro que obtenho quando uso o dotenv, lenbrando que as informações de login estão todas certas, e que em outra função que não seja um middleware funciona.
    • By Felipe Guedes Coutinho
      Galera, estou precisando ler 1 arquivo TXT mas não quero usar nenhum INPUT para carregar o arquivo.
       
      Eu tenho uma estrutura de pasta onde os meus arquivos TXT ficaram fisicamente e no meu código HTML + JS quero que ao alterar um SELECT OPTION, através da escolha eu validar se o arquivo com o nome selecionado existe na página e se existir eu ler ele e adicionando em um elemento qualquer, uma DIV como conteúdo ou dentro de uma TEXTAREA.
       
      Vou montar a estrutura de pasta abaixo e colocar imagens de exemplo:
       
      Estrutura de pasta
      projeto
          index.html
          dclgen <-- Aqui dentro tenho vários arquivos do formato TXT
              t1.txt
              t2.txt
              t3.txt
              ...
              t4.txt
       
      Pasta DCLGEN dentro da pasta projeto e a pasta DCLGEN junto com o arquivo HTML

       
      Ao escolher no SELECT o nome T1 quero que o JavaScript veja se o arquivo t1.txt existe e se existir quero LER o conteúdo dele e jogar em um ELEMENTO HTML.

       
      Preciso fazer isso da forma mais "SIMPLES" possível usando HTML e JavaScript.
       
      Alguém pode dar um help? Pesquisei no Google muitas opções e os códigos encontrados não me atenderam.
       
      Não quero ser obrigado a fazer um "UPLOAD" usando um INPUT do TIPO FILE, quero usar algo já dentro da pasta do projeto.
      <!DOCTYPE html> <html> <head> <title>Read Text File Tutorial</title> </head> <body> <input type="file" onchange="loadFile(this.files[0])"> <br> <pre id="output"></pre> <script> async function loadFile(file) { let text = await file.text(); document.getElementById('output').textContent = text; } </script> </body> </html> Código usando FileReader, mas que também está usando um INPUT como estimúlo, não é o que quero.
      document.getElementById('file').onchange = function(){ var file = this.files[0]; var reader = new FileReader(); reader.onload = function(progressEvent){ var fileContentArray = this.result.split(/\r\n|\n/); for(var line = 0; line < lines.length-1; line++){ console.log(line + " --> "+ lines[line]); } }; reader.readAsText(file); }; Encontrei esse código também, mas não consegui usar...
      Esse é o parâmetro passado na url "https://dicasdejavascript.com.br/exemplo.txt" function lerURL(URL) { var http = new XMLHttpRequest(); http.open("GET", URL, false); http.send(); console.log(http.responseText); } Espero que alguém consiga me ajudar...
       
      Desde já agradeço.
       
      Atenciosamente.
      Felipe Coutinho

    • By Giovanird
      Ola!
      Tenho uma lista de usuários e um link que abre uma div que mostra os detalhes deste usuario, este link usa o evento onClick do javascript.
      O problema é que quando clicado para abrir a div, a tela sobe para o inicio do topo.
      Preciso que a tela nao faça a rolagem para o topo e sim que fique na posição da lista.
      Segue meu codigo abaixo.
      Obrigado por momento
       
      <div class="container"> <div class="row"> <?php foreach para listar os usuários.... ?> <div class="col-10"> Nome do usuário </div> <div class="col-2"> <a href="#" onClick="Mudarestado('minhaDiv<?=$cod?>')"><img src="icons/chevron-right.svg"></a> </div> *** Parte ficará visivel ao clicar no link OnClick *** <div class="divacoes" id="minhaDiv<?=$cod?>" style="display:none"> <div class="row"> <div class="col"> ... dados dos usuarios... </div> </div> </div> *** **** <?php fim foreach que gera a lista de usuários... ?> </div> </div> <style> .divacoes { background-color: #64A338; border: none; padding: 20px; width: 97%; height: 80px; } </style> <script> function Mudarestado(el) { var display = document.getElementById(el).style.display; if (display == "none") document.getElementById(el).style.display = 'block'; else document.getElementById(el).style.display = 'none'; } </script>  
    • By Rafael Massula
      Boa noite pessoal, 
      Tenho o seguinte código em .Net que faz a comparação de uma senha que foi criptografada e salva no banco com a senha comum que o usuário conhece. O algoritmo que desenvolvi foi esse da image.png porem preciso converter essa verificação para JavaScript pela seguinte necessidade, será uma aplicação em electron e ela poderá funcionar offline então não terei como mandar a verificação para o servidor. Existe alguma possibilidade? Desde já agradeço. 

    • By Caio Vargas
      fala pessoal tudo bem
      eu avia postado algo aqui mais so tive uma simples resposta ...
       
      uma cliente pediu pra eu criar um sistema de agendamento de serviços pra ela
      atualmente ela mora no canada e estou desenvolvendo um site pra ela
      eu  etou com uma grande duvida .... como posso cadastrar dadas continuas .... no sistema
       
      tipo se eu cadastrar um serviço de barbeiro e colocar uma data e um horario esse serviço tem que valer para segunda terça quarta quinta sexta sabado e domingo e todos os meses
      como posso fazer isso em php
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.