ExtJS: Páginas SSL com itens não seguros

28 May 2010
1 min read

Quando você acessa uma página SSL da sua aplicação web, o sistema mostra um warning com a mensagem: "This page contains both secure and nonsecure items. Do you want to display the nonsecure items?" (Esta página contém itens seguros e não seguros. Deseja visualizar os items não seguros?)

Este é um erro comum que ocorre quando algum elemento numa página web segura (que é acessada via https:// na barra de endereço) não é acessado de uma fonte segura (ou seja, do mesmo domínio). Isso geralmente ocorrer com imagens, frames, iframes, Flash e JavaScripts.

Como resolver esse "pequeno problema" quando sua página/projeto foi desenvolvido com ExtJS?

Existe uma propriedade na classe Ext chamada BLANK_IMAGE_URL:

"URL to a 1x1 transparent gif image used by Ext to create inline icons with CSS background images. (Defaults to "http://extjs.com/s.gif" and you should change this to a URL on your server)."

ou seja:

"URL para uma imagem gif transparente 1x1 usado pelo Ext para criar ícones alinhados com imagens de fundo CSS. (O padrão é "http://extjs.com/s.gif" e você deve alterar essa caminho para uma URL no seu servidor)."

Segue abaixo um screenshot do Firebug quando tentei carregar uma aplicação que usa a biblioteca ExtJS:

A solução é bem simples. É preciso apontar a propriedade BLANK_IMAGE_URL para a imagem "s.gif" que está no diretório da sua aplicação.

Por exemplo:  se o nome da sua aplicação é "extjs-crud-grid", deve apontar para:

[code lang="js" firstline="1" toolbar="true" collapse="false" wraplines="false"]
Ext.onReady(function(){
Ext.BLANK_IMAGE_URL = '/extjs-crud-grid/ext-3.1.1/resources/images/default/s.gif';
)};
[/code]

extjs-crud-grid - diretório da aplicação:

Espero que tenha ajudado!

Bons códigos! :)