Jump to content
Gleyson Abreu

Confirmar se visualizou a imagem

Recommended Posts

Queria saber se a alguma maneira de confirmar que  a pessoa visualizou determinada imagem, por exemplo tenho um slideshow automático que exibi as imagens que tem um id x quero pegar esse id x é enviar pro meu banco de dados há alguma forma de fazer isso?

Tava fuçando no w3schools e encontrei um slideshow automatico o seguinte codigo:

var myIndex = 0;
carousel();
function carousel() {
    var i;
    var x = document.getElementsByClassName("mySlides");
    for (i = 0; i < x.length; i++) {
       x[i].style.display = "none";
    }
    myIndex++;
    if (myIndex > x.length) {myIndex = 1}    
    x[myIndex-1].style.display = "block";
    setTimeout(carousel, 1000); // Change image every 2 seconds
}

Queria saber se teria como eu pegar o id da imagem do slideshow que está sendo exibida na tela para enviar para o banco de dados.. já tentei de várias formas adaptar esse código mas não conseguir.

Se houver outra forma de fazer isso que expliquei da um help aqui

[]'s

Share this post


Link to post
Share on other sites

Dar sim, pois se cada elemento de seletor class mySlides possuir um id você pode obter esse valor logo assim:

x[myIndex-1].style.display = "block";
var identificador = x[myIndex-1].id; // Esse seria o ID do atual .mySlides

 

Nesse caso então para enviar para um salvamento em banco de dados, você pode optar por executar um ajax requisitando o arquivo que vai fazer o registro no banco informando esse valor

objeto_HttpRequest.open('GET', 'arquivo_que_salva.php?valor=' + identificador, true);

Nesse caso tem que criar a estrutura do protocolo pois só informei como fazer o envio. Pois o "arquivo_que_salva.php" sempre vai receber $_GET['valor']; que é o id passado pela função javascript

 

Só que desaconselho isso... Porque?

 Na sua função você tem:

setTimeout(carousel, 1000);

Ao qual a cada 1 segundo ele troca de imagem, então a cada 1 segundo será uma query executada, agora imagine se 1.000 pessoas estiverem acessando. Isso são 1000 querys por segundo (coitado do seu servidor), sem contar que alguém pode abrir o inspetor e alterar o javascript para setTimeout(carousel, 1); executando uma query a cada 1ms

 

Mas sei lá, se fosse para eu fazer iria tentar da forma que falei.

Share this post


Link to post
Share on other sites

Bacana. Só puxando o gancho, não teria como "proteger" a edição do time usando POO? tipo, criar uma função com atributo private e criar um método getter que retorna o valor desse atributo privado. Sou iniciante e estava estudando isso, fiquei com a dúvida.

 

 

Bacana. Só puxando o gancho, não teria como "proteger" a edição do time usando POO? tipo, criar uma função com atributo private e criar um método getter que retorna o valor desse atributo privado. Sou iniciante e estava estudando isso, fiquei com a dúvida.

 

 

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 MateusOFCZ
      Olá, gostaria de saber, como posso fazer para quando clicar em um botão, por exemplo, em um formulário JFrame (Java) ele executar um comando node.js, fiz o código javascript no Visual Studio Code, e quero fazer um executável para executar o script e fazer a leitura dos dados... Alguém pode me ajudar?
    • By NINO2391
      Bom Glr, Tô Fazendo Um Web Site E Quero Fazer Umas Funções Escondidas Nela!
       
      bom meu objetivo era tipo apertas as tecla do teclado CTRL+A e abrir uma janela flutuante
      <form action=""> <input type="file" name="tag"><br> <input type="submit" value="Submit"> </form> Então vou falar resumidamente: ENTRAVA NO SITE, APERTAVA CTRL+A E APARECIA ESSA JANELA FLUTUANTE!!
       
      Quem Puder Ajudar....Ficaria Mil Agradecido!!!
    • By KABEst
      boa noite, é meu primeiro post aqui, eu preciso de ajuda pra colocar um "churrascômetro" no meu site do wordpress, nao tenho noção nenhuma de como fazer isso, alguem pode me dar um norte? é pra um trabalho da faculdade. obrigado

       exemplo de como eu quero fazer: http://www.epa.com.br/churrascometro/
       
    • By Rodrigo F
      Olá a todos boa tarde bem eu venho a este forum , porque eu preciso de ajuda bem eu tenho um site que estou a fazer para uma empresa no qual agora nao posso revelar o nome mas a minha duvida é a seguinte bem , nesse site nos temos um sisteam de login e register até ai tudo normal   agora o que eu queria eraaa o seguinte por exemplo eu na minha base de dados eu tenho o antonio registado e tenho o andre , eu quero que quando o andre de login e fosse para o seu perfil , la no perfil iria ter do genero fotos do verao ,  e quando o antonio fosse dar login e fosse ao perfil tivesse  fotos do natal , como posso  editar a pagina de cada um ??? 
      essa é a minha duvida como eu posso editar a pagina de cada com as coisas que eu pretendo menter para cada usuario
       xd
       
       
    • By peterstefan
      Bom dia, estou fazendo uma cadastro via rest e estou utilizando o curl para cadastrar no webservice...
      Meu código está cadastrando tudo certinho, porem quando ele cadastra e mostra o retorno que foi cadastrado com sucesso ele fica o AGUARDE, CARREGANDO e não para.. não sei oque esta faltando pq já tentei varias coisas e não deu certo... 
       
       
       
      $Data = [ "nomeRazaoSocial" => $PostData['nomeRazaoSocial'], "identMF" => $PostData['identMF'], "email" => $PostData['email'], "telefone" => $PostData['telefone'], "senhaProvisoria" => $PostData['senhaProvisoria'] ]; $DataString = json_encode($Data); $curl = curl_init(WEBSERVICECADASTRO); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($curl, CURLOPT_POSTFIELDS, $DataString); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($DataString)) ); $result = curl_exec($curl); if ($result) { $jSON['success'] = "<i class='icon-checkmark'></i>Pronto, cadastro foi realizado com sucesso!"; }else{ $jSON['error'] = "<i class='icon-warning'></i>Oops! Erro ao cadastrar! Por favor, tente novamente!"; }  

       

×

Important Information

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