Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Filipe_O

[AS2] Carregar html em caixa de texto dinâmica

Mensagens Recomendadas

Filipe_O

Boas pessoal!

Gostaria de perguntar como posso carregar um elemento html, dentro de uma caixa de texto dinâmica.

Trabalho com AS 2.

Fiquem bem e obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
coxosclassic

boas,

basta definires a tua caixa de texto dinamica como html, por exemplo:

this.createTextField("tf",1,0,0,500,200);
tf.html = true;
tf.htmlText = "<b> bold stuff </b>, <i> italic stuff </i>, etc...";

espero que ajude,

CC


Cumps,

cc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Filipe_O

Boas!

Já estou mais perto!

Duas coisa:

O meu objectivo era carregar uma pagina shtml (digo para teres a noção do que pretendo) dentro da caixa de texto dinâmica.

Ora, quando a caixa aparecer, lá dentro iram aparecer as noticias....

A pergunta é:

Como faço para que o conteúdo simplesmente apareça, e não apenas ao:

clicar na caixa (on realese);

Passar com o rato (on RollOver)

Passar com o rato, fora (on RollOut), etc etc...

Ou seja...não haver uma condição especifica para aparecer.

A outra pergunta é:

Como é que carrego a pagina?

Fiquem bem e muito obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
coxosclassic

boas,

pelo que percebi, pretendes colocar uma pagina inteira shtml numa caixa de texo dinamica.

nao tenho bem a certeza, mas acho que o suporte que a caixa de textp suporta será so texto html, nao sei se da para colocares o codigo total de uma pagina shtml. pelo menos em as2

mas se o que tu pretendes é uma cena básica como o exemplo que mostraste (so links) podes perfeitamente fazer isso no flash.

se precisares de ajuda avisa.

cumps,

CC


Cumps,

cc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
coxosclassic

boas,

estive a ver o teu problema e fiz um "pseudo" componente que faz aquilo que pretendes. A unica maneira que eu consegui para ter acesso aos links que estavam na pagina de html, foi criar um ficheiro de xml (links.xml), pois nao faco a minima ideia de como "extrair" essa informação da pagina de html. Se quiseres adicionar ou retirar uma notícia basta acrescentares ou removeres os "nodes" de xml.

Se por acaso essa pagina tiver a receber um "feed" de noticias por xml, diz-me que eu mudo o codigo de modo a receber esse "feed".

basta fazeres copy/paste do MovieClip "linkMenu" para o teu .fla e posiciona-lo onde quiseres. tem em atencao que o ficheiro de xml "links.xml" tem de estar sempre na mesma pasta do(s) teu(s) swf, pois é apartir desse ficheiro que o componente se constroi.

o código está totalmente comentado por isso nao deve ser muito dificol perceberes o que faz.

espero que ajude:

http://sites.google.com/site/brunoperry/linkMenu.zip?attredirects=0&d=11

cumps,

CC


Cumps,

cc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Filipe_O

Muito obrigado pelo teu trabalho (aquela programação toda....), mas como deves imaginar, não estaria certo fazer copy/paste e não tentar entender.

Duvidas:

O documento XML não actualiza os links de acordo com a pagina html, correcto? (neste casso seria necessário, pois noticias novas saem diariamente)

Na barra á direita deste site ("Ultimas da agencia ecclesia"), está como queria o espaço das noticias.

Como poderia fazer para que as notiçias (programação que deste) apareçesse, sem nenhum tipo de condição/comportamento (on (realese); on (rollOver); on (rollOut); etc etc)?

De facto, as respostas as minhas pesquisas têm sido muito mais em relação a importar documentos XML do que html, mas dados estes problemas achas que me devo virar para html, ou o que acabei de referir, tem solução (pratica)?

Fica bem e obrigado por toda a ajuda

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
coxosclassic

boas,

O documento XML nao se actualiza com a pagina HTML... tens ideia de como é que a pagina html recebe as noticias? se tb for por xml, bastaria por a carregar esse XML.

o link que me mandaste vai dar a uma pagina com o googlemap... nao sei se é isso que queres... :thumbsup: se puderes envia de novo para se poder ver bem o que pretendes

queres dizer que em vez de aparecerem links para as noticias, queres que aparecam logo as noticias?

Isso pode-se fazer, mas haverá sempre o problema do xml.... se conseguires arranjar um "feed" de xml com essas noticas, podes por esses conteudos a aparecer, caso contrario, teras de ser sempre tu a actualizar o xml... (o que nao da jeito nenhum..)

infelizmente não percebo muito de html para te ajudar na decisao de continuares em flash ou tentares ir por html... mas pelo que percebi, estaras sempre dependente de um " feed" de noticas (seja por xml ou por outra coisa qualquer)

cumps,

CC


Cumps,

cc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Filipe_O

boas,

O documento XML nao se actualiza com a pagina HTML... tens ideia de como é que a pagina html recebe as noticias? se tb for por xml, bastaria por a carregar esse XML.

Não, não sei.A ideia era não ter nenhuma pagina a servir de intermédio, mas sim importar directamente, percebes?

o link que me mandaste vai dar a uma pagina com o googlemap... nao sei se é isso que queres... :) se puderes envia de novo para se poder ver bem o que pretendes

Epah desculpa lá...Vê aqui...Na barra á direita está uma caixa pequena com o titulo "Ultimas da agencia ecclesia"...O que gostava de fazer era tipo isso (dai querer que ocupasse uma caixa de texto,e não o palco todo)

queres dizer que em vez de aparecerem links para as noticias, queres que aparecam logo as noticias?

Isso pode-se fazer, mas haverá sempre o problema do xml.... se conseguires arranjar um "feed" de xml com essas noticas, podes por esses conteudos a aparecer, caso contrario, teras de ser sempre tu a actualizar o xml... (o que nao da jeito nenhum..)

Não...Só não podia era actualizar o XML porque as saem noticias novas no html diariamente.

infelizmente não percebo muito de html para te ajudar na decisao de continuares em flash ou tentares ir por html... mas pelo que percebi, estaras sempre dependente de um " feed" de noticas (seja por xml ou por outra coisa qualquer)

Por flash eu faço sempre....a indecisão é entre tentar importar directamente do html, ou usar um XML como ponto intermédio (algo que parece ser mais fácil).

Um é mais facil, mas o outro é mais directo

Fiquem bem e obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
coxosclassic

ok,

consegui ver o link e ja percebi +- o que pretendes.

O flash nao importa directamente uma pagina HTML, mas pode-se dar sempre a volta ao assunto :)

básicamente é possivel "hackar" uma pagina html para flash para se fazer um simples menu como o que mostraste.

Seria bem mais fácil conseguir isso havendo um XML, mas visto que isso não é possivel, pode-se olhar para o problema de uma outra perspectiva...

Mas antes de aprofundar o assunto preciso que me esclareças uma dúvida:

Nao consigo perceber quando te referes:

Como poderia fazer para que as notiçias (programação que deste) apareçesse, sem nenhum tipo de condição/comportamento (on (realese); on (rollOver); on (rollOut); etc etc)?

Pelo exemplo que me deste, tem de haver sempre comportamentos onRelease(para entrares nos links), rollOver(para parar os links) e rollOut(para os links continuarem a "andar")... Ou a tua ideia será só apenas mostrar os titulos das noticias sem qualquer tipo de links?

se não era isto que querias dizer, podes ser um pouco mais especifico em relação a isso?

cumps,

CC


Cumps,

cc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Filipe_O

O flash nao importa directamente uma pagina HTML, mas pode-se dar sempre a volta ao assunto :)

básicamente é possivel "hackar" uma pagina html para flash para se fazer um simples menu como o que mostraste.

Seria bem mais fácil conseguir isso havendo um XML, mas visto que isso não é possivel, pode-se olhar para o problema de uma outra perspectiva...

Se colar um "iframe" no Flash, resulta?Podia ser outra opção.

Mas antes de aprofundar o assunto preciso que me esclareças uma dúvida:

Nao consigo perceber quando te referes:

Pelo exemplo que me deste, tem de haver sempre comportamentos onRelease(para entrares nos links), rollOver(para parar os links) e rollOut(para os links continuarem a "andar")... Ou a tua ideia será só apenas mostrar os titulos das noticias sem qualquer tipo de links?

se não era isto que querias dizer, podes ser um pouco mais especifico em relação a isso?

Esquece isso (tens razão...tem sempre de haver comportamentos).

Então qual seria a outra perspectiva do problema?

Fiquem bem

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
coxosclassic

Boas,

a ideia seria então forçar o flash a fazer load do html como se fosse um xml, tipo:

var fakeXML:XML = new XML();

fakeXML.onData = function( htmlStr:String ):Void 
{
    if( htmlStr == undefined )
   {
        this.onLoad( false );
    } 
    else
    {
        this.onLoad( true, htmlStr );
    }
};

é óbvio que não iria encontrar nenhum documento de xml válido, mas podemos ficar com a string... (htmlStr).

Na função onLoad:

fakeXML.onLoad = function( success:Boolean, htmlStr:String ):Void 
{
    if(!success)
   {
        // erro no ficheiro xml
    } 
    else
   {
        var hackedHTML:String = htmlStr;
        trace( hackedHTML ) //dá-nos a pagina html mas em tipo String
    }
};

fakeXML.load( "http://www.agencia.ecclesia.pt/ultimas.shtml" );

Apartir daqui, faz-se um parse da string hackedHTML para se sacar os links e os titulos das noticias (dá algum trabalho), depois seria so construir o "menu" aproveitando o codigo que ja existe.

assim que tiver tempo, elaboro um pouco a ideia. Mas através deste modo podes ir tentando fazer algo.

se tiveres dúvidas avisa

cumps,

CC


Cumps,

cc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
coxosclassic

boas,

fiz um exemplo um bocado à pressa:

http://sites.google.com/site/brunoperry/linkMenu2.7z?attredirects=0&d=1

julgo que esteja 100% funcional (nao testei a fundo) mas básicamente faz o pretendido.

podes tambem usar as constantes que estao no codigo para mudar as propriedades (tamanho, radius dos cantos, cor, etc..) do pseudo compoennte

o uso de PHP é uma alternativa bastante viável, mas por ai nao te posso ajudar, pois nao estou muito por dentro do assunto...

Mas visto que em flash é possivel (talvez usnado um pouco mais de codigo), não ficas dependende de scripts "server-side"... e até dá um certo "gozo" fazer tudo em actionScript.

como fiz o codigo um bocado á pressa, alguns comentarios podem nao ser muito descritivos, mas se tiveres dúvidas diz.

cumps,

CC

:)


Cumps,

cc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Filipe_O

Obrigado pelas ajudas!Os comentários estão perfeitamente perceptiveis, e são essenciais pois não percebo de Actionscript (nem quero que programação seja a minha área...porém, á coisas úteis a saber 🤔)

//carrega o html para uma string
fakeXML.load("http://www.agencia.ecclesia.pt/ultimas.shtml");

Ou seja, carrega as noticias directamente do html, certo?

É mesmo o que procuro!

Fiquem bem e obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
coxosclassic

boas,

exacto, carrega as noticias directamente do html (como tipo string), faz-se o parse para xml, e a apartir daí constroi-se o menu de acordo com o exemplo que mostraste.

cumps,

CC


Cumps,

cc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Filipe_O

Muito obrigado pela ajuda!

Não sei se me podes ajudar, mas:

Quando testo a minha animação, a ligação funciona e por conseguinte as noticias aparecem.

Aconteçe que quando no site, fica sempre em "a carregar", e quando executo o .swf, dá-me este erro..

Não sei se me sabes ajudar, visto o mais provável é a programação não ter nada a ver com o problema, mas como já me conseguis-te ajudar tanta vez ( :D )

Aqui fica a pergunta..

Fiquem bem e obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
coxosclassic

boas,

pela descrição do problema, julgo que possa tratar de problemas de segurança. Visto que estás a carregar um html externo, o flash pode estar a intrepertar o problema como se trata-se de um link "malicioso", logo estar a aparecer esse aviso e o programa nao passar da fase "A Carregar..."

neste momento nao estou perto (nem vou estar) do meu pc, para poder ter certezas, mas assim que tiver, tento resolver o problema (la mais para o fim da semana).

cumps,

CC


Cumps,

cc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
coxosclassic

boas,

consegui dar entao uma olhada no problema, e cheguei à conclusao de que se trata mesmo de uma questao de seguranca. quando esse "erro" acontecer, clica no botao "Settings..." e na janela que se abre no teu browser, no componente "Macromedia Flash Player Settings Manager", clica no dropdown menu e escolhe a opção "Add location..."

escreve ai o caminho onde tens o teu file .swf (ex: c:\Desktop\App\oMeuSwf.swf) e clica no botao "Confirm". de seguida tenta abrir de novo o swf e verás que ja nao da esse erro.

Julgo que quando puseres o teu site online este erro nao ocorra, mas poderias tentar por isso online e ver se da erro ou nao...

cumps,

CC

::EDIT:: segue este link para uma explicação mais profunda do problema:

http://kb2.adobe.com/cps/135/13530cdd.html


Cumps,

cc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Filipe_O

online não dá nenhum erro, mas nunca carrega as noticias...fica sempre em "a carregar".

Lol, a pagina "Settings" do menu de erro, não está disponível ...

Vou ler com atenção o link que me mandas-te

Obrigado por toda a ajuda!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Filipe_O

Consegui resolver a situação da comunicação do .swf com a internet, mas on, ainda fica sempre a aparecer "a carregar".

Obrigado por toda a ajuda

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
coxosclassic

Boas,

Tentei correr o swf online, e tambem tive o mesmo problema... Julgo que possa ter a haver com a questão da segurança....

Procurei um pouco acerca do assunto, mas nao consegui encontrar nada de relevante. :D

Se entretanto souber como se possa dar a volta ao problema, aviso por aqui.

uma outra solução era a que o Scorpion_Blood mencionou uns posts mais atrás, fazer uso de um script PHP. Bastaria receberes um XML e usar o resto do codigo.

mas isso infelizmente nao te posso ajudar pois nao estou muito por dentro...

cumps,

CC


Cumps,

cc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Filipe_O

Relativamente á segurança, "permito" o .swf aqui.

Quanto ao debbuger, o erro que deu foi de segurança...depois de permitir, já funcionava (apenas no meu pc)...

Realmente, não sei...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.