Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

fernando1

[Resolvido] Ler Cookie no Flash?

Recommended Posts

Boa Tarde a todos! :D

 

Como posso ler informações de um cookie por Action Script, se possível algo que funcione com AS 2.0 ?

 

Tipo, tenho um cookie com um texto dentro, gravado na pasta tempory internet files,

preciso recuperar a informação para exibir em uma dynamic box.

 

Obrigado!

 

Fernando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quase isso!

 

Valeu pela ajuda Public2004, porém com este comando "SharedObject", consigo recuperar apenas se o cookie for gravado dentro do flash. <_<

 

Procurando sobre o comando encontrei:

 

- SharedObject.getLocal(nome,[localPath]): Caso seja encontrado na máquina do cliente um objeto já gravado com o mesmo nome passado no parâmetro nome, ele retorna uma referência do arquivo já gravado. Do contrário, cria uma nova instância e retorna sua referência. O parametro opcional localPath, serve para você especificar em qual pasta dentro da pasta de SharedObject's do flash será gravado seu objeto. Por exemplo: a pasta padrão é c:\FlashPlayer\SharedObject, e você passou localPath como teste, então ficará c:\FlashPlayer\SharedObject\teste\nome.sol. Se o parametro é omitido, então é utilizado o domínio onde está o arquivo swf.Utilize var variavel:SharedObject = SharedObject.getLocal("nome"); para criar ou instanciar um SharedObject.

 

O problema é que esse cookie é gravado em um arquivo PHP dentro da pasta Tempory Internet Files

 

Como recupero cookie desta pasta dentro do flash?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí simplifica...

Já que você tem o PHP que grava o "cookie", utilize também o PHP para efetuar a leitura deste "cookie", armazene as informações do biscoitinho em variáveis no PHP que possam ser recuperadas dentro do Flash através da classe "LoadVars".

 

Obs: Lembre-se que o usuário pode não aceitar estes arquivos que são geralmente utilizados para gravar informações básicas sobre por ex. a navegação que efetuou dentro do site, quais páginas, preferências, etc..., nada que seja de vital importância, então veja se realmente esta é a melhor solução.

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Public2004!

 

Então, essa ideia de fazer por LoadVars, foi a primeira que tive...

Como os dados vem do banco, bastava pegar por PHP, devolver em uma linha de string e carregar dentro do flash com "LoadVars".

Entretanto nem esta opção vai dar certo :( , vou explicar porque, vou explicar exatamente o que preciso e o que acontece!

 

Tenho um dos campos da tabela do mysql, que pode conter um texto logo, é uma descrição do item.

Vamos ao caso de por em uma string no PHP e carregar por "LoadVars". Não é somente este campo que preciso carregar e como o texto desse é longo, você tem um limite de caracteres para passar por parametro na URL (no caso na string).

 

Pensei em por este campo em um arquivo txt, e importar no flash, não deu certo, mesmo passando todo os campos em um xml e importando,também não funcionou..., sabe por que?

 

Por causa daquela porcaria de navegador "Internet Explorer", que não limpa o cache e matem sempre a primeira informação carregada. Olha já tentei limpar o cache por Meta Tags no HTML, ja tentei passar estas tags dentro do próprio PHP , más o IE não atualiza nem a cacetada <_<

 

Dai me veio a idéia de salvar em cookies no usuario e chamar no flash, más não está dando certo..

 

Então o que eu realmente precisava era, se alguem souber alguma forma de fazer o IE atualizar as informações, sem dar este bug eu Agradeço..

 

Obrigado http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia fernando1, acho que a solução é bem simples, pois acredito que houve uma confusão aí, você vai trabalhar com o "LoadVars" e desta forma não é necessária a utilização de parâmetros na URL (QueryString), por consequência, não se preocupe com limitações...

 

Supondo que no seu banco você tenha um registro de uma notícia com um campo de título e um campo com o texto completo, no primeiro momento você carrega no Flash apenas o título com um link para a notícia completa, neste link você armazena o ID desta notícia (que é exclusivo) e se o usuário clicar neste link, você utiliza apenas este ID para carregar o texto completo.

 

Resumindo, quem vai fazer todo o trabalho de pesquisa no banco e armazenamento de informações em variáveis é o PHP, no Flash você manipula estas informações utilizando como referência apenas o ID do registro(s).

 

Pode optar também em gravar as infos em arquivos XML ou TXT, e quanto ao problema de cache, têm alguns macetes para "enganar" o navegador, veja um exemplo:

randomNum = Math.round(Math.random( )*9999999999);
myLv.load("arquivo.txt?" + randomNum);
Desta forma a cada requisição do arquivo, será gerado um número aleatório complementado o mesmo, como dificilmente este número será repetido, o navegador não encontrará o arquivo no cache e efetuará um novo carregamento do mesmo.

 

Espero ter ajudado.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

[Resolvido]

 

Bom, já que estava fazendo por xml, vou deixar assim mesmo http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Más valeu mesmo assim pela ajuda, principalmente, por esta parte do enganar IE :P

 

randomNum = Math.round(Math.random( )*9999999999);

myLv.load("arquivo.txt?" + randomNum);

 

Eu estava procurando algo assim mesmo...

 

Obrigado Public2004 http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.