Arquivo de dezembro de 2007

Editor WYSIWYG muito leve

Hoje me deparei com algo que já venho procurando faz um bom tempo[bb]. Um editor WYSIWYG que fosse leve.

A maioria dos editores tem mais de 100KB, chegando alguns a mais de 200KB. O NicEdit por outro lado tem menos 35 KB e, se comprimido menos de 10KB. Obviamente ele é simples, mas quem precisa do word quando quer colocar negrito em uma ou outra palavra? Lembre-se conteúdo é o rei!

No site[bb] tem vários exemplos de como se utiliza ele, além de bastante informação[bb].

Pegando o conteúdo de um iframe

Hoje tive um daqueles problemas[bb] que você pensa, pensa, pensa, e não consegue resolver.

Meu problema era enviar um arquivo via AJAX[bb]. Como isso não é possível, temos que usar uma velha técnica na qual cria-se um iframe e se dá o submit do form para este. Tudo certo. Mas temos que pegar o valor do iframevia javascript para saber se correu tudo bem e o que aconteu.

Fiz alguns testes e nao estava conseguindo pegar o valor do iframe. O motivo? Levei 3 horas para descobrir. Não se consegue pegar o valor se o iframe não estiver no mesmo domínio que a página atual.

Ou seja, nos testes eu estava usando tudo menos o domínio atual. Que serviço.

Para pegar o valor, existem 2 métodos:

1) Mais fácil com a jQuery:

JavaScript:
  1. $('iframe').contents().find('body').html()

2) Um pouco maior, mas apenas javascript:

JavaScript:
  1. var io = document.getElementsByTagName('iframe')[0];
  2. if(io.contentWindow) {
  3. return io.contentWindow.document.body.innerHTML;
  4. } else if(io.contentDocument){
  5. return io.contentDocument.document.body.innerHTML;
  6. }

Mas não esqueçam. Tem que ser do mesmo domínio.

Obrigado ao Israel Cefrin por me dar a dica que tinha que funcionar e me fazer descobrir isso.

O Framework CodeIgniter

O que um framework tem que fazer? Sério, copiar o Rails?

Tudo bem que seja um om espelho, mas não pode ser feito com fé cega, acreditando que o que o rails faz é o que há de melhor pra se fazer. Não que RoR seja ruim, muito pelo contrário, mas existem vários frameworks imitando-o sem pensar um pouco.

Eu programo em PHP para viver, poderia mudar já que sou eu quem define isso, mas ainda só estou testando outras linguagens para a web. Recentemente resolvi que iria usar um framework para desenvolver, pleos motivos que todo mundo sabe: utilização de MVC, programação mais rápida, etc.

Cheguei a testar o CakePHP, mas não gostei dele pois ele te faz trabalhar como ele quer, não como o programador quer. Bati cabeça com mais alguns e resolvi que montaria meu próprio framework. Programa, programa, programa... Ainda falta muito pela frente...

Logo do CodeIgniterAté que parei e conheci o CodeIgniter. Achei muito bom, é um framework legal e que me dava a liberdade que eu não tinha com o Cake.

Este framework, apesar de ter sido baseado no Rails, não o segue cegamente e dá um liberdade muito grande pra trabalhar do jeito que o programador quiser. Claro que ele tem uma padronização, mas a liberdade vem em você usar as ferramentas que são fornecidas muito facilmente.

Se você quer saber mais sobre o CodeIgniter, sugiro que veja os screencasts do Elliot Haughin, que foi o que me fez ver o que o CodeIgniter podia fazer; leia o blog do Derek Allard, que é um dos desenvolvedores do Framework; e LEIA O MANUAL. Em português, a comunidade ainda está se formando, mas já existe o site codeigniter.com.br, lá se encontra o manual traduzido, um fórum (que atualmente está fora do ar) e a lista de discussão.

Aguardem alguns artigos aqui sobre esse tema.