Depuração com o AIR HTML IntrospectorO SDK do Adobe® AIR® inclui um arquivo AIRIntrospector.js de JavaScript que você pode incluir em seu aplicativo para ajudar a depurar os aplicativos baseados em HTML. Sobre o AIR IntrospectorO Adobe AIR HTML/JavaScript Application Introspector (chamado AIR HTML Introspector) fornece recursos úteis para ajudar no desenvolvimento e na depuração do aplicativo baseados em HTML:
Carregamento do código do AIR IntrospectorO código do AIR Introspector está incluído em um arquivo JavaScript, AIRIntrospector.js, que, por sua vez, está incluído no diretório de estruturas do SDK do AIR. Para usar o AIR Introspector no seu aplicativo, copie o arquivo AIRIntrospector.js para o diretório do projeto do seu aplicativo e carregue o arquivo através da tag de script no arquivo HTML principal no seu aplicativo: <script type="text/javascript" src="AIRIntrospector.js"></script> Também inclua o arquivo em todos os arquivos HTML que correspondem a janelas nativas diferentes no seu aplicativo. Importante: Inclua o arquivo AIRIntrospector.js apenas ao desenvolver e depurar o aplicativo. Remova-o no aplicativo empacotador do AIR que você distribua.
O arquivo AIRIntrospector.js define uma classe, Console, que você pode acessar do código do JavaScript chamando air.Introspector.Console. Nota: O código que usa o AIR Introspector deve estar em uma caixa de proteção do aplicativo (em um arquivo no diretório do aplicativo).
Inspeção de um objeto na guia ConsoleA classe Console define cinco métodos: log(), warn(), info(), error() e dump(). Os métodos log(), warn(), info() e error() permitem que você envie um objeto à guia Console. O método mais básico de todos é o método log(). O código a seguir envia um objeto simples, representado pela variável test, para a guia Console: var test = "hello"; air.Introspector.Console.log(test); No entanto, é mais útil enviar um objeto complexo para a guia Console. Por exemplo, a página HTML a seguir inclui um botão (btn1) que chama uma função que envia o próprio objeto do botão para a guia Console: <html> <head> <title>Source Viewer Sample</title> <script type="text/javascript" src="scripts/AIRIntrospector.js"></script> <script type="text/javascript"> function logBtn() { var button1 = document.getElementById("btn1"); air.Introspector.Console.log(button1); } </script> </head> <body> <p>Click to view the button object in the Console.</p> <input type="button" id="btn1" onclick="logBtn()" value="Log" /> </body> </html> Ao clicar no botão, a guia Console exibe o objeto btn1, e você pode expandir a visualização de árvore do objeto para inspecionar suas propriedades: Você pode editar uma propriedade do objeto clicando na lista à direita do nome da propriedade e modificando a listagem do texto. Os métodos info(), error() e warn() são parecidos com o método log(). No entanto, ao chamar esses métodos, o Console exibe um ícone no começo da linha:
Os métodos log(), warn(), info() e error() enviam uma referência apenas para um objeto real, por isso as propriedades disponíveis são as únicas no momento da visualização. Se desejar serializar o objeto real, use o método dump(). O método tem dois parâmetros:
Chamar o método dump() serializa um objeto antes de enviá-lo para a guia Console, de forma que você não possa editar as propriedades dos objetos. Por exemplo, considere o seguinte código: var testObject = new Object(); testObject.foo = "foo"; testObject.bar = 234; air.Introspector.Console.dump(testObject); Ao executar este código, o Console exibe o objeto testObject e suas propriedades, mas você não pode editar os valores da propriedade no Console. Configuração do AIR IntrospectorVocê pode configurar o console definindo as propriedades da variável global AIRIntrospectorConfig. Por exemplo, o código de JavaScript a seguir configura configura o AIR Introspector para empacotar colunas com 100 caracteres: var AIRIntrospectorConfig = new Object(); AIRIntrospectorConfig.wrapColumns = 100; Certifique-se de definir as propriedades da variável AIRIntrospectorConfig antes de carregar o arquivo AIRIntrospector.js (através de uma tag script). Há oito propriedades na variável AIRIntrospectorConfig:
Interface do AIR IntrospectorPara abrir a janela do AIR Introspector ao depurar o aplicativo, pressione a tecla F12 ou chame um dos métodos da classe Console (consulte Inspeção de um objeto na guia Console). Você pode configurar a "hot key" como uma tecla que não seja a tecla F12; consulte Configuração do AIR Introspector. A janela do AIR Introspector tem seis guias — Console, HTML, DOM, Ativos, Código-Fonte e XHR — como mostrado na ilustração a seguir: A guia ConsoleA guia Console exibe os valores das propriedades passadas como parâmetros para um dos métodos da classe air.Introspector.Console. Para obter detalhes, consulte Inspeção de um objeto na guia Console.
A guia HTMLA guia HTML permite visualizar todo o DOM de HTML em uma estrutura de árvore. Clique em um elemento para exibir suas propriedades no lado direito da guia. Clique nos ícones + e - para expandir e recolher um nó na árvore. Você pode editar qualquer atributo ou elemento de texto na guia HTML e o valor editado se reflete no aplicativo. Clique no botão Inspecionar (à esquerda da lista de guias na janela do AIR Introspector). Você pode clicar em qualquer elemento na página HTML da janela principal e o objeto DOM associado é exibido na guia HTML. Quando a janela principal tem foco, você também pode pressionar o atalho no teclado para ativar e desativar o botão Inspecionar. O atalho no teclado é F11 por padrão. Você pode configurar o atalho no teclado como uma tecla que não seja a tecla F11; consulte Configuração do AIR Introspector. Clique no botão Atualizar janela ativa (na parte superior da janela do AIR Introspector) para atualizar os dados exibidos na guia HTML. Clique em CTRL+F no Windows ou em Command+F no Mac OS para pesquisar o texto correspondente exibido na guia. (Os nós de árvore que são visíveis não são pesquisados.) A guia DOMA guia DOM mostra o objeto da janela em uma estrutura de árvore. Você pode editar qualquer propriedade numérica e de string, e o valor editado se reflete no aplicativo. Clique no botão Atualizar janela ativa (na parte superior da janela do AIR Introspector) para atualizar os dados exibidos na guia DOM. Clique em CTRL+F no Windows ou em Command+F no Mac OS para pesquisar o texto correspondente exibido na guia. (Os nós de árvore que são visíveis não são pesquisados.) A guia AtivosA guia Ativos permite verificar os links, imagens, CSS e arquivos JavaScript carregados na janela nativa. A expansão de um desses nós mostra o conteúdo do arquivo ou exibe a imagem real usada. Clique no botão Atualizar janela ativa (na parte superior da janela do AIR Introspector) para atualizar os dados exibidos na guia Ativos. Clique em CTRL+F no Windows ou em Command+F no Mac OS para pesquisar o texto correspondente exibido na guia. (Os nós de árvore que são visíveis não são pesquisados.) A guia FonteA guia Fonte inclui três seções:
Clique no botão Atualizar janela ativa (na parte superior da janela do AIR Introspector) para atualizar os dados exibidos na guia Fonte. Clique em CTRL+F no Windows ou em Command+F no Mac OS para pesquisar o texto correspondente exibido na guia. (Os nós de árvore que são visíveis não são pesquisados.) A guia XHRA guia XHR intercepta toda a comunicação XMLHttpRequest no aplicativo e registra as informações. Isso lhe permite ver as propriedades XMLHttpRequest, incluindo responseText e responseXML (quando disponíveis) em uma visualização de árvore. Clique em CTRL+F no Windows ou em Command+F no Mac OS para pesquisar o texto correspondente exibido na guia. (Os nós de árvore que são visíveis não são pesquisados.) Uso do AIR Introspector com conteúdo em uma caixa de proteção não do aplicativoVocê pode carregar o conteúdo do diretório do aplicativo em um iframe ou quadro que é mapeado em uma caixa de proteção externa ao aplicativo. (Consulte Segurança HTML no Adobe AIR para desenvolvedores em ActionScript ou Segurança HTML no Adobe AIR para desenvolvedores em HTML). Você pode usar o AIR Introspector com esse conteúdo, mas observe as seguintes regras:
|
|