Ir para conteúdo / Skip to content

DOM como alternativa ao innerHTML

blog reactions Postado em: 17 de março de 2008 por Pedro Rogério

innerHTML com certeza foi uma mão na roda para os desenvolvedores durante muito tempo, e ainda hoje existe muita gente que o utiliza seja por não conhecer outras alternativas ou por pura preguiça.

Quais os problemas de utilizar innerHTML?

  • innerHTML não é um padrão standard, é uma propriedade da Microsoft, e por isso já não é de se confiar muito.
  • As aplicações baseadas no MIME Type application/xhtml+xml não suportam essa propriedade.
  • A propriedade funciona como uma String, deixando de fora qualquer interação com o DOM que tentarmos introduzir.
  • Ao tratar-se de uma cadeia de texto, tereos alguns problemas com acentuação, fechamento de tags, comentários na página.

Criando múltiplos elementos

A partir de um Array, vamos criar uma lista de elementos uitlizando innerHTML e depois usando DOM.

innerHTML:


data = new Array("one","two","three");
mHTML = "<ul>";
for(i=0;i<data.length;i++) {
	mHTML+="<li>" + data[i] + "</li>";
}
mHTML+="</ul>";
document.getElementById("mContainer").innerHTML = mHTML;

Dessa forma definimos todo o HTML necessário para construírmos nossa lista, usando DOM seria dessa forma:

DOM:


data = new Array("one","two","three");
 // create the UL element that our LI elements will descend from
eUL = document.createElement(”ul”);
// loop over the length of the “data” array
for(i=0;i<data.length;i++) {
	// create an LI
	eLI = document.createElement(”li”);
	// append the value of data[i] to the LI as a text node
	eLI.appendChild(document.createTextNode(data[i]));
	// append the LI to the UL
	eUL.appendChild(eLI);
}
// append the UL to the “mContainer” element.
document.getElementById(”mContainer”).appendChild(eUL);

Referências

Google Maps sem o uso de JavaScript

blog reactions Postado em: 7 de março de 2008 por Pedro Rogério

Google Maps é uma ferramenta do Google que revolcucionou a Internet. Graças a geolocalização foram possíveis o desenvolvimento de aplicações como Panoramio. Mas se você achava que era impossível fazer o uso de Mapas do Google com imagens estáticas, estava muito errado.

Static Google Maps

Para fazer o uso de imagens desse tipo, você deve utilizar uma chave, que você obterá ao cadastrar seu site no Google Maps API. Uma vez com essa chave, podemos obter a imagem estática.


<img src="http://maps.google.com/staticmap?center=47.238336,8.827171&zoom=12&markers=40.416741,-3.70325,red&size=512×512&key=MAPS_API_KEY“>

Analisando a URL, veremos os parâmetros que intervêem e as quais podemos personalizar nosso mapa:

  • center: //Centro da imagen (ej: 0.0000,0.0000)
  • zoom: //Zoom que se aplica a imagen, de 0 a 19 (0 para longe, 19 para perto)
  • size: //Tamanho da imagem em pixels (máximo 512×512)
  • maptype: //Tipo de mapa (roadmap => Mapa para páginas web, mobile => Mapa para baixas resoluções)
  • markers: //Marcadores dentro do mapa. (ex: markers=40.702147,-74.015794,blues|40.711614,-74.012318,green)

Referências

EXTENSÕES DO DREAMWEAVER PARA FRAMEWORKS JAVASCRIPT

blog reactions Postado em: 18 de fevereiro de 2008 por Pedro Rogério

Se você utiliza o dreamweaver no seu dia-a-dia agora pode ficar feliz, pois demorou mais chegou, e agora o suporte do dreamweaver as livrarias JavaScript vieram em forma de extensões.

Vídeo (Objeto multimídia)

Todos os créditos do vídeo são do site Xtnd.us

Você pode encontrar extensões para:

  • jQuery API para Dreamweaver MX-CS3
  • Prototype API para Dreamweaver MX-CS3
  • Mochikit API para Dreamweaver MX-CS3
  • MooTools API para Dreamweaver MX-CS3
  • YUI API para Dreamweaver MX-CS3
  • Ext API para Dreamweaver MX-CS3

Para utilizá-las, basta ter o Extension Manager instalado no micro.

Referências

NAVEGUE COM JAVASCRIPT DESABILITADO E VEJA O CAOS ACONTECER NA WEB

blog reactions Postado em: 15 de fevereiro de 2008 por Pedro Rogério

Um dos grandes problemas hoje em dia no desenvolvimento para a Web é o uso de JavaScript Obstrutivo. Infelizmente, os desenvolvedores ainda fazem sites que só funcionam com o JavaScript habilitado e não se dão ao trabalho de procurar alternativas para aqueles usuários que não tem nenhum suporte a essa tecnologia.

Experimente navegar algumas horas sem o uso de JavaScript para ver o caos acontecer. Não sabe como desabilitá-lo? No Internet Explorer faça o seguinte: Vá até Opções da Internet > Segurança > Escolha a Zona Internet e depois clique em Nível Personalizado. Em Script ativo escolha Desabilitar.

Desabilitar JavaScript no IE

No Firefox vá até Ferramentas > Opções > Desmarque a caixa Permitir JavaScript.

Desabilitar JavaScript no Firefox

No Opera vá até Ferramentas > Preferências > Aba Avançado > Conteúdo > Desmarque a caixa Habilitar JavaScript.

Desabilitar JavaScript no Opera

Sentiu na pele agora como se sentem pessoas que fazem o uso de tecnologias assistivas? Deixe nos comentários a sua experiência.

DEBUGBAR - FIREBUG PARA INTERNET EXPLORER

blog reactions Postado em: 24 de janeiro de 2008 por Pedro Rogério
Debugbar

Debugbar é uma aplicação semelhante ao Firebug que se integra ao Internet Explorer e permite inspecionar código-fonte, CSS, marcação, JavaScript, DOM, os cabeçalhos HTTP e as informações gerais da página. Além também de possuir ferramentas parecidas com a Web Developer Toolbar, como redimensionamento da janela, color picker, noificação de erros, entre outros.

Debugbar é gratuito para uso pessoal ou educacional, e em seu Wiki você pode encontrar toda a informação necessária para seu uso.

Veja Também

Referências

COMPANION.JS - O FIREBUG DO INTERNET EXPLORER

blog reactions Postado em: 15 de janeiro de 2008 por Pedro Rogério

Companion.JS é uma daquelas maravilhas que todo desenvolvedor web deseja para melhorar a sua vida ou não. Se no Firefox utilizamos o Firebug, Companion.JS vem a ser uma versão limitada só que para Internet Explorer.

Introdução

Características

  • Alerta de erros JavaScript detalhados.
  • API para console similar a do Firebug.
  • Console JavaScript para inspecionar elementos em tempo real.
  • Ícone na barra para lançar o painel.

Requerimentos

  • Microsoft Script Debugger
  • Companion.JS

Instalação

Faça o download do Microsoft Script Debugger e Companion.JS.

Nos asseguramos das seguintes opções:

Opções do Plugin
  • Disable script debugging (Internet Explorer)
  • Disable script debugging (Others)

Estejam ativas em Ferramentas > Opções da Internet > Avançado.

Executar

Funcionamento

Referências

PANEL GALLERY - GALERIA DE IMAGENS

blog reactions Postado em: 11 de janeiro de 2008 por Pedro Rogério
Panel Gallery

Panel Gallery é uma opção interessante de se mostrar nossas imagens. Ele nos permite montar uma galeria de imagens mediante painéis estilo miniaturas, onde, ao invés de você dar um clique para ver a imagem em tamanho maior, você vai navegando com o mouse por diversos pontos da imagem para vê-la. Se a explicação ficou meio confusa, dêem uma olhada no exemplo.

Exemplo de uso:

Dentro da tag <head> colocamos o seguinte script:


<script type="text/javascript">

var xm = 0;
var ym = 0;

document.onmousemove = function(e){
	if (window.event) e=window.event;
	xm = e.clientX;
	ym = e.clientY;
}

var panel = {
	speed : .006,
	t : 0,
	O : [],
	over : false,

	run : function() {
		panel.t += panel.speed;
		for (var i = 0, o; o = panel.O[i]; i++)
			o.anim(i + panel.t);
	},

	init : function(){
		for (var i = 0, o; o = document.images[i]; i++){
			if (o.className.indexOf('panel') >= 0) {
				if(o.parentNode.href != undefined) {
					var div = document.createElement("a");
					div.href = o.parentNode.href;
				} else {
					var div = document.createElement("div");
				}
				div.className = 'panel';
				var img = document.createElement("img");
				img.src = o.src;
				img.className = 'imgPanel';
				o.parentNode.replaceChild(div,o);
				div.appendChild(img);
				div.ims = img.style;
				div.iw = img.width;
				div.ih = img.height;
				div.cx = -div.iw / 2;
				div.cy = -div.ih / 2;
				div.anim = function(t) {
					nw = this.offsetWidth;
					nh = this.offsetHeight;
					if (panel.over == this){
						for (var nx = 0, ny = 0, o = this; o != null; o = o.offsetParent) nx += o.offsetLeft, ny += o.offsetTop;
						var x = Math.max(-this.iw + nw, Math.min(0, (-(xm - nx) * (this.iw - nw)) / nw));
						var y = Math.max(-this.ih + nh, Math.min(0, (-(ym - ny) * (this.ih - nh)) / nh));
						if (Math.abs(xm-nx-nw * .5) > nw || Math.abs(ym-ny-nh * .5) > nw ) panel.over = false;
					} else {
						var mx = (this.iw - nw) * .5;
						var my = (this.ih - nh) * .5;
						var x = -mx * (1 + Math.cos(t * 1.2));
						var y = -my * (1 + Math.sin(t));
					}
					this.cx += (x - this.cx) * .1;
					this.cy += (y - this.cy) * .1;
					this.ims.left = Math.round(this.cx) + 'px';
					this.ims.top  = Math.round(this.cy) + 'px';
				}

				div.onmouseover = function()
				{
					panel.over = this;
				}
				this.O.push(div);
			}
		}
		setInterval(panel.run, 32);
	}
}

onload = function ()
{
	panel.init();
}

</script>

Aplicamos o CSS:


<style type="text/css">
	#screen {
		position: absolute;
		left: 22%;
		top: 20%;
		width: 60%;
		height: 60%;
		background: #fff;
		overflow: hidden;
	}
	.panel {
		position: relative;
		float: left;
		width: 21%;
		height: 30%;
		margin: 1%;
		overflow: hidden;
	}
	.imgPanel {
		position: absolute;
		border: none;
		text-decoration: none;
	}
</style>

E para finalizar, um simples HTML:


<div id="screen">
	<img class="panel" src="images/fl01.jpg" alt="">
	<img class="panel" src="images/slide110.jpg" alt="">
	<img class="panel" src="images/fl01.jpg" alt="">
	<img class="panel" src="images/fl01.jpg" alt="">
</div>

Download dos arquivos de exemplo.

Referências

QUAL BROWSER ATUALMENTE É MAIS COMPATÍVEL COM JAVASCRIPT?

blog reactions Postado em: 10 de janeiro de 2008 por Pedro Rogério

Recentemente o autor do site Coding Horror realizou um teste para saber que browser da atualidade é mais compatível com JavaScript. Os browsers testados foram: Opera 9.5, Firefox 2, Safari 3.0.4 e Internet Explorer 7. Foram medidas as compatibilidades com a carga de códigos JavaScript utilizando um Benchmark SunSpider, e os resultados foram os seguintes:

Resultados Totais do teste de JavaScript
Gráfico detalhado de suporte a javaScript nos browsers atuais

Opera e Safari demonstram ser os mais capazes e rápidos para renderizar código JavaScript, logo atrás, Firefox e Internet Explorer. Vamos ver após o lançamento do Internet Explorer 8 se esse quadro irá mudar.

O QUE ESTUDAR EM 2008?

blog reactions Postado em: 29 de dezembro de 2007 por Pedro Rogério
Ano de 2008

Ano de 2008 chegando, e no que você vai se dedicar? Eu vou me dedicar em:

  • Usabilidade
  • Acessibilidade
  • Padrões Web
  • SEO
  • JavaScript

Pois independente da linguagem em que você esteja trabalhando, PHP, Ruby, .NET ou Java, todos esses pontos serão essenciais.

SCRIPT.ACULO.US CHEAT SHEET

blog reactions Postado em: 14 de dezembro de 2007 por Pedro Rogério
Script.aculo.us

Se você precisa do Cheat Sheet do Script.aculo.us, fica aí a dica.

Página 3 de 4«1234»