JavaScript personalizado GTM

JavaScript personalizado no GTM

A Variável de JavaScript personalizada é certamente a variável mais versátil do conjunto. Você pode usá-lo para executar JavaScript arbitrário na página. Ele cria um contexto de script, o que significa que você também pode chamar outras Variáveis ​​de dentro usando a sintaxe apropriada.

A Variável de JavaScript personalizada precisa seguir duas regras simples. Primeiro, o script deve ser envolvido em um bloco de função anônimo ( function() { … }). Em segundo lugar, a função deve ter uma declaração de retorno ( return null;).

A terceira, regra não escrita, é que a função só deve retornar um valor. Você não deve usar uma Variável de JavaScript personalizada para modificar a paisagem de nomes global, pressionando valores para, dataLayer por exemplo. Se você deseja alterar as variáveis ​​globais de uma função, é melhor criar uma Tag HTML personalizada para este propósito.

RETORNO

Depende do que você tem na return de declaração. Você pode retornar qualquer variável ou valor, mesmo outras funções, outras Variáveis ​​GTM ou nada (um simples return;é o equivalente a retornar o valor indefinido ).

Expressões regulares com Regex Coach

Neste artigo venho apresentar o software “The Regex Coach” que auxilia o desenvolvimento de expressões regulares, com validações enquanto cria os padrões da expressão regular.

The Regex Coach é basedo em lisp e desenvolvido por estudantes sob a licença free, pode ser instalado em qualquer sistema (Unix,Linux,Windows). Para utiliza-lo basta a cessar o site
http://weitz.de/regex-coach/ e baixar o arquivo através deste link http://weitz.de/files/regex-coach.exe.

Utilização:
Nesta primeira tela a área superior “Regular expression” é onde podemos colocar a expressão regular. Logo abaixo em “Target String” onde colocamos a string a ser testada com a expressão, note a string
está em amarelo isso significa que está válida de acordo com a expressão definida no box superior “Regular expression“.

Simulando erro
Caso a string esteja incorreta levando em consideração a expressão a string fica sem a cor amarela que pode ser visualizada na tela abaixo. Neste caso ela não está válida pois o endereço está faltando um “w” e com isso está inválida a expressão.

Para quem não reconheceu esta expressão válida endereços web com final “br” “http://www.qualquernome.(com ou org ou gov).br”

Abaixo segue algumas expressões regulares bastante usadas

Data (dd/mm/aaaa)
Expressão: ^([0-9]|[0,1,2][0-9]|3[0,1])/([\d]|1[0,1,2])/\d{4}$
Resultado: 21/12/2007

Numero Decimal
Expressão: ^\d*[0-9](\.\d*[0-9])?$
Resultado: 234.342

Arquivos Documentos
Expressão:^[a-zA-Z0-9-_\.]+\.(pdf|txt|doc|csv)$
Resultado: world-domination.pdf

E-mail
Expressão:^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*(.){1}[a-zA-Z]{2,4})+$
Resultado: info@lymas.com.br

Codigo Cor HTML
Expressão: ^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$
Resultado: #00ccff

Arquivo de Imagem
Expressão:^[a-zA-Z0-9-_\.]+\.(jpg|gif|png)$
Resultado: new-pic_company.jpg

Endereco IP
Expressão:^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})$
Resultado: 192.168.0.1

Arquivos Multimídia
Expressão:^[a-zA-Z0-9-_\.]+\.(swf|mov|wma|mpg|mp3|wav)$
Resultado: company-presentation.swf

Data Formato Mysql
Expressão:^\d{4}-(0[0-9]|1[0,1,2])-([0,1,2][0-9]|3[0,1])$
Resultado: 2005-09-02

Telefone (BR)
Expressão:^\(?\d{2}\)?[\s-]?\d{4}-?\d{4}$
Resultado: (11) 5555-1977

Codigo Postal (EUA)
Expressão:^([A-Z][0-9]){3}$
Resultado: V2B2S3

Hora (HH:MM)
Expressão:^([0-1][0-9]|[2][0-3])(:([0-5][0-9])){1,2}$
Resultado: 12:29

URL
Expressão:^(http[s]?://|ftp://)?(www\.)?[a-zA-Z0-9-\.]+\.(com|org|net|mil|edu|ca|co.uk|com.au|gov|br)$
Resultado: http://www.google.com

Telefone Internacional
Expressão:^(([0-9]{1})*[- .(]*([0-9a-zA-Z]{3})*[- .)]*[0-9a-zA-Z]{3}[- .]*[0-9a-zA-Z]{4})+$
Resultado: 1.245.532.3422

Sites de referência:
http://weitz.de/regex-coach/
http://imasters.com.br/artigo/2515/javascript/regular_expression/

Enviando dados através do Jquery com ASP

Neste artigo, pretendo apresentar uma maneira de usar um método post de formulário com o uso de Jquery. Com auxílio da função Ajax disponível na base do Jquery, será apresentada uma forma que envia os dados sem a necessidade do recarregamento da página dando ao usuário uma experiência melhor com o sistema.

Para apresentar o recurso, escolhi um modelo de cadastro de Newsletter com banco de dados MySQL, mas é possível utilizá-lo de diversas maneiras seja para cadastros, consultas ou exclusões.

Como havia dito, utilizaremos a biblioteca Jquery que pode ser encontrada no endereço http://jquery.com/. Para este artigo, utilizaremos a versão 1.4.2 min, porém qualquer versão a partir da 1.2 pode ser usada, já que todas contem em seu núcleo a função Ajax. Salve o arquivo com o nome “jquery-1.4.2.min.js” na mesma pasta que irá salvar as outras páginas.

Agora iremos criar o banco de dados Mysql. Abaixo segue a estrutura definida.

DROP DATABASE IF EXISTS `newsletter`;
CREATE DATABASE `newsletter`;
USE `newsletter`;

CREATE TABLE `newsletter` (
  `Id` int(11) NOT NULL auto_increment,
  `Nome` varchar(255) default NULL,
  `Email` varchar(255) default NULL,
  PRIMARY KEY  (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Com a base de dados pronta, iremos criar a página do formulário e posteriormente criaremos a página que recebe os dados e realiza o cadastro. Página do formulário. Salve com o nome “Form_Newsletter.asp”

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulário de Cadastro</title>

<script type="text/javascript" src="jquery-1.4.2.min.js"></script>

<script>
        $(document).ready(function() { $("#button").click(function () {
        //Declarando as variaveis
                var Nome ="";
                var Email ="";
                //Recuperando os dados e atribuindo as variaveis
                Nome = $("#Nome").val();
                Email = $("#Email").val();
        //Inicio da funcao
        $.ajax({
                //Metodo utilizado
                type: "POST",
                //Pagina que recebe os daods
                url: "Recebe_dados.asp",
                //String de dados enviada
                data: "Nome="+Nome+"&Email="+Email+"",
                //Inicio da funcao que requisita a resposta da pagina onde recebeu os dados
                success: function(msg){
                alert( "Sucesso! " + msg );
                        //Limpando os valores dos campos
                        $("#Nome").val('');
                                $("#Email").val(''); 

                                }
                        });             

                });
        });
</script>

</head>

<body>
<p>Newsletter</p>

  <table width="280" border="0">
    <tr>
      <td>Nome:</td>
      <td><input type="text" name="Nome" id="Nome" /></td>
    </tr>
    <tr>
      <td>E-Mail:</td>
      <td><input type="text" name="Email" id="Email" /></td>
    </tr>
    <tr>
      <td> </td>
      <td><label>
        <input type="submit" name="button" id="button" value="Cadastrar" />
      </label></td>
    </tr>
  </table>

</body>
</html>

Na página acima, notamos a função “$.ajax” nessa área. Onde será aplicado o recurso que faz a chamada, transferindo os registros para a página de cadastro.

        $.ajax({
                //Metodo utilizado
                type: "POST",
                //Pagina que recebe os daods
                url: "Recebe_dados.asp",
                //String de dados enviada
                data: "Nome="+Nome+"&Email="+Email+"",
                //Inicio da funcao que requisita a resposta da pagina onde recebeu os dados
                success: function(msg){
                alert( "Sucesso! " + msg );
                        //Limpando os valores dos campos
                        $("#Nome").val('');
                                $("#Email").val(''); 

                                }
                        });

Página que realiza a inclusão dos dados enviados pela função acima. Salve com o nome “Recebe_dados.asp

<%
'Declarando a variavel de conexao
Dim Conexao
'Atribuindo o objeto a variavel de conexao
Set Conexao = Server.CreateObject("ADODB.Connection")
'String de conxao para base de dados Mysql
Conexao.ConnectionString = "driver={MySQL ODBC 5.1 Driver};server=localhost;uid=usuario;pwd=senha;database=newsletter"
'Abrindo a conexao
Conexao.Open

'Funcao para tratar as variaveis
Function Trata_Request(txt)

        entrada = replace(txt,"'","")

                Trata_Request=entrada
        end Function

        'Recuperando as variaveis enviadas pelo metodo post
        Nome = Trata_Request(request.Form("Nome"))
        Email = Trata_Request(request.Form("Email"))

        'Instrucao SQL para inserir as variaveis
        set cadastra = Conexao.execute("INSERT INTO newsletter(nome,email) VALUES('"&Nome&"','"&Email&"')")
%>

Dados recebido com sucesso!

Ao receber os dados a página, mande uma resposta de ok e, com isso, é apresentada a informação que os dados foram cadastrados com sucesso.

Vimos neste artigo uma maneira de melhorar a usabilidade de um sistema de Newsletter que pode ser aplicado a outros sistemas, focando em uma melhor experiência dos usuários. Com os recursos atuais e com boas práticas, podemos economizar recursos de processamento ao transferir informações entre páginas.

Veja mais no Imasters

http://imasters.uol.com.br/artigo/18163/asp/enviando_dados_atraves_do_jquery_com_asp/

NopCommerce e-commerce desenvolvido em .net

Neste Artigo apresentarei a ferramenta de comércio eletrônico desenvolvida na plataforma .Net da Microsoft.

NopCommerce é um carrinho de compras totalmente personalizável, Open source o e-commerce é desenvolvido em ASP.NET 3.5 com base de dados MS SQL 2005 de back-end. Fácil de usar a solução do carro de compras é especialmente adequada para comerciantes que têm superado os sistemas existentes. Pode ser hospedado em sistemas IIS com suporte para a tecnologia .NET 3.5 .

Link para download do NopCommerce
http://www.nopcommerce.com/Downloads.aspx

O Nopcommerce também pode ser instalado através da ferramenta Microsoft Web Platform Installer 2.0.

Download
http://www.microsoft.com/web/Downloads/platform.aspx

Imagens

SlideGen1.ashx

Tela de Administração

SlideGen.ashx

Alguns servidores para hospedagem

http://www.agenciadot.com.br

http://www.locaweb.com.br

http://www.dialhost.com.br/

Internet Explorer 6 uma morte lenta e dolorosa

Um sonho de todo desenvolvedor de aplicativos para Web é a Morte do ie – 6.0 que é um desastre da Microsoft e foi um grande freio de mão puxado em todos estes anos. Bastou aparecer uma ferramenta melhor desenvolvida nesse caso o Mozilla Firefox para abrir os olhos da comunidade e da Microsoft para o enorme desperdício que foi a hegemonia desse software.

O desaparecimento será lento e doloroso para todos nós, analisando as estáticas de utilização de browsers a adoção de novos navegadores é vagarosa e quase sempre está atrelada ao sistema operacional que é dominado pelo Windows xp acompanhado do borwser ie 6.0.

meses

Vendo o gráfico podemos perceber que o ie 6.0 perdeu mercado nos últimos três meses, sua participação passou de 15.21% (julho 2009) para 13.28% ( setembro 2009) cerca de 2% de perda. É bom ver que podemos esperar em um futuro próximo uma participação de insignificantes 0.2%, essa perda pode estar atrela as boas e engraçadas iniciativas que vemos dos desenvolvedores.

“Atualize seu navegador” essa é a bandeira que um importante site de tecnologia levanta, essa campanha conta com uma barra que é exibida quando o usuário acessa o site utilizando o navegar ultrapassado veja ela logo abaixo.

atualize_navegador
Outra iniciativa muito bem humorada é a “Bom demais para Internet Explorer”. Contando com uma imagem no canto inferior esquerdo aplicada com folha de estilo logo é notada, para quem se interessa pelo assunto arranca algumas risadas. Veja o logo abaixo.

selo

É bom saber que existem alternativas como Mozilla Firefox, Safári e Opera para combater o domínio da Microsoft. Em nenhuma ocasião o domínio de uma única empresa é benéfica para andamento do comércio e evolução do conhecimento.

Links:

http://imasters.uol.com.br/crossbrowser/pt-br/

http://www.w3junkies.com/toocool/index.php?language=br

Fonte do grafico

http://www.w3counter.com/globalstats.php