Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1308
Sexo: Masculino

Re: Código jQuery que captura largura não trabalha com $_POST

11-10-2017 17:01

Eu não tinha aberto no editor o código que você postou e não havia percebido as mudanças que você fez no jQuery (ou JavaScript). Pensei tivesse apenas ajustado o tempo. Além dessas mudanças, o formulário estava com action para teste.php e alterei para teste2.php.

Pelo celular, voltou o problema de atualizar a página ao se movimentar nela. Após carregar a largura, tão logo eu a empurro para cima, o mínimo que seja, atualiza a página.

Vou postar o código com a alteração do action do formulário:

<?php session_start(); if(!isset($_POST["valor"])){$_POST["valor"] = null;} if($_POST["valor"] == ""){ $largura_capturada = "vazio"; } else{ if($_POST["valor"] != ""){ $largura_capturada = $_POST["valor"]; } } echo $largura_capturada; echo " - largura capturada"; echo "<br />"; ?> <html> <head> <title>Formulário</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="viewport" content="width=device-width, initial-scale=1" /> </head> <body> <?php if(!isset($_SESSION['valor'])) { $_SESSION['valor'] = 0; } $_SESSION['valor']++; echo $_SESSION['valor']; ?> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script type="text/javascript"> $(document).ready(function() { <?php if(!isset($_POST['valor'])) { ?> if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { var width = window.outerWidth; } else { var width = $(window).width(); } $("#valor").val(width); setTimeout(function(){ $("#submit").trigger("click") }, 1000); <?php } ?> window.addEventListener("resize", function() { setTimeout(function(){ if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { var width = window.outerWidth } else { var width = $(window).width() } $("#valor").val(width); }, 1000); setTimeout(function(){ $("#submit").trigger("click") }, 2000); }); window.addEventListener("orientationchange", function() { setTimeout(function(){ if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { var width = window.outerWidth } else { var width = $(window).width() } $("#valor").val(width); }, 1000); setTimeout(function(){ $("#submit").trigger("click") }, 2000); }); }); </script> <?php echo @$_POST['valor']=="" ? "ainda não tem a largura" : "atualizou. A largura é ".$_POST['valor']; ?> <form action="teste2.php" method="post" name="form" id="form"> <input type="text" name="valor" id="valor" value="" /> <input type="submit" id="submit" style="display:none;" /> </form> <center><?php echo $largura_capturada; ?></center> <br /><br /> <?php if($_POST["valor"] != "" && $_POST["valor"] < 380){ echo "<center>GIRE SEU DISPOSITIVO</center>"; } ?> <div style="position:relative;background:blue;border-color:red;border-style:solid;border-width:1px;width:100%;height:1000px;"></div> </body> </html>

0
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1308
Sexo: Masculino

Re: Código jQuery que captura largura não trabalha com $_POST

11-10-2017 18:02

Acho que consegui resolver. Logo posto. Vou testar mais um pouco.
0
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1308
Sexo: Masculino

Re: Código jQuery que captura largura não trabalha com $_POST

11-10-2017 18:40

Parece que deu certo: parou de atualizar a página ao se movimentar nela e está capturando a largura corretamente.

Vou chutando, fazendo por intuição, olhando o que você fez. Portanto, não sei se está certo.

Vi o que você fez no seu último código, mas usei o código anterior:

<?php session_start(); if(!isset($_POST["valor"])){$_POST["valor"] = null;} if($_POST["valor"] == ""){ $largura_capturada = "vazio"; } else{ if($_POST["valor"] != ""){ $largura_capturada = $_POST["valor"]; } } echo $largura_capturada; echo " - largura capturada"; echo "<br />"; ?> <html> <head> <title>Formulário</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="viewport" content="width=device-width, initial-scale=1" /> </head> <body> <?php if(!isset($_SESSION['valor'])) { $_SESSION['valor'] = 0; } $_SESSION['valor']++; echo $_SESSION['valor']; ?> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script type="text/javascript"> $(function() { // CARREGAMENTO <?php if(!isset($_POST['valor'])) { ?> if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { var width = window.outerWidth; // SE É CELULAR } else { var width = $(window).width(); // SE É COMPUTADOR } // ENVIA O VALOR PARA O INPUT $('#valor').val(width); // APÓS O TEMPO ENVIA O FORMULÁRIO setTimeout(function(){ $("#submit").trigger("click") }, 1000); <?php } ?> // RESIZE // SE É CELULAR if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { $(window).on("orientationchange", function(event) { window.addEventListener("resize", function() { // ENVIA O VALOR PARA O INPUT var width = window.outerWidth; $('#valor').val(width); // APÓS O TEMPO ENVIA O FORMULÁRIO setTimeout(function(){ $("#submit").trigger("click") }, 1000); }, false); }); } else{ // SE É COMPUTADOR window.addEventListener("resize", function() { // ENVIA O VALOR PARA O INPUT var width = $(window).width(); $('#valor').val(width); // APÓS O TEMPO ENVIA O FORMULÁRIO setTimeout(function(){ $("#submit").trigger("click") }, 1000); }, false); } }); </script> <?php echo @$_POST['valor']=="" ? "ainda não tem a largura" : "atualizou. A largura é ".$_POST['valor']; ?> <form action="teste2.php" method="post" name="form" id="form"> <input type="hidden" name="valor" id="valor" value="" /> <input type="submit" id="submit" style="display:none;" /> </form> <center><?php echo $largura_capturada; ?></center> <br /><br /> <?php if($_POST["valor"] != "" && $_POST["valor"] < 380){ echo "<center>GIRE SEU DISPOSITIVO</center>"; } ?> <div style="background:blue;border-color:red;border-style:solid;border-width:1px;width:100%;height:1000px;"></div> </body> </html>

Apesar de, aparentemente, estar funcionando corretamente, o código está certo?

Grato.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Código jQuery que captura largura não trabalha com $_POST

13-10-2017 15:47

O código que deixei online http://www.codigosnaweb.com/teste.php está funcionando normal pelo navegador do computador, no teste de mudar a orientação do celular.
Esse código que você postou acima não está funcionando. Ou melhor, funciona a primeira vez e não funciona mais. Fica no 360.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1308
Sexo: Masculino

Re: Código jQuery que captura largura não trabalha com $_POST

14-10-2017 08:32

Estranho. Aqui está funcionando no computador e no celular. Estou testando no computador com Windows XP, mas testarei no notebook, com Windows 7. O celular é com Android.

Você limpou o navegador?
0
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1308
Sexo: Masculino

Re: Código jQuery que captura largura não trabalha com $_POST

14-10-2017 08:40

Sobre o código do link que você postou, aqui, no celular, funciona normal; mas, no computador, não funciona: faz a primeira captura da largura, mas, depois, não captura mais.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Código jQuery que captura largura não trabalha com $_POST

14-10-2017 17:27

Sim. Limpei o navegador e testei com os 2 scripts.

teste.php é a versão do script que deixei online.
teste2.php é a versão mais recente do script que você postou.


Veja no vídeo.
O primeiro teste é usando o teste.php. O segundo é o teste2.php. Veja quase no final do vídeo no teste2.php que o seu script trava ao mudar a resolução.

http://codigosnaweb.com/forum/videos/resolucao.mp4

Obs.: O vídeo dá uma congelada quase no meio do vídeo "teste.php" mas é pela qualidade de gravação do camstudio e da conversão de avi para mp4.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado