Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Amigos, estou tentando e não estou conseguindo fazer.
Preciso que tenha em um site todo em flash notícias em tempo real que está vindo de um site.
O site já disponibiliza o script, que é o seguinte:
<!--Começa aqui noticias Mundo News--><script language="javascript" type="text/javascript" src="http://www.mundonews.com.br/restrito/selos/geral.js.php"><!--Termina aqui noticias Mundo News-->
Como faço para colocar isso no flash?
Então, não sei exatamente como devo fazer...
A única coisa que quero é que no meu SWF, tenha uma área que apareça o conteúdo do link que passei.
Se puder me passar para eu ver se dá para adaptar eu agradeço.
Bom amigo, pelo o que eu vi no site deles eles disponibilizam esse script apenas em Java Script que devem ser inserido de forma direta no html.
Pode ser que através de alguma função no Flash você consiga puxar os valores desse scrpit (Peço desculpas mas eu desconheço como fazer isso).
Se você puder obter a informação de outro portal segue o script para que você possa adaptar suas necessidades.
//Obtendo informações das Notícias
//--------------------------------
//Habilita o sistema de caracters especial
System.useCodepage = true;
//Cria uma nova variável para o XML
var news:XML = new XML();
//Carrega o XML e seu link.
news.load("http://g1.globo.com/Rss2/0,,AS0-5602,00.xml");
//Função para atualizar o RSS (30s)
function callback(){
news.load("[http://g1.globo.com/Rss2/0,,AS0-5602,00.xml"](http://g1.globo.com/Rss2/0,,AS0-5602,00.xml));
}
setInterval(callback, 30000);
//Ignora possíveis espaços em branco.
news.ignoreWhite = true;
// Depois de carregar, exibi o conteúdo do XML
news.onLoad = function(success) {
//Carregando dados do XML
//-----------------------
//Puxa o tema
tema.html = true;
tema.htmlText = (news.firstChild.firstChild.childNodes[7].childNodes[0].childNodes[0].nodeValue);
//Puxa o titulo
titulo.html = true;
titulo.htmlText = (news.firstChild.firstChild.childNodes[7].childNodes[1].childNodes[0].nodeValue);
//Puxa a notícia
noticia.html = true;
noticia.htmlText = (news.firstChild.firstChild.childNodes[7].childNodes[3].childNodes[0].nodeValue);
};Ainda não está 100% o código mas essa parte já está funcionando. Dai é só ajustar os valores dos nós para poder pegar as notícias que
desejar.
Se tiver dúvidas da uma lida no tópico ao qual o Eder está me ajudando...
http://forum.imasters.com.br/index.php?/topic/386649-dificuldade-em-receber-valores-de-xml-no-flash/
Abs
É, realmente preciso que seja em HTML, vou esperar alguém me dizer aqui se tem algum código no flash, pois as notícias tem que ser desse site e eles somente disponibilizam o script como eu passei.
Alguém aí sabe como fazer isso?
Olha não sei se vai te ajudar, mas alguns anos atrás tive o mesmo problema e a solução que encontrei foi colocar uma DIV com esse conteúdo HTML/JavaScript sobre o swf, Deixei reservado no layout do swf o espaço e posicionei esta DIV de notícias com CSS - Isso funciona no caso de um swf com tamanho e posição fixa, no caso de layout líquido, já complica... talvez essa solução pode te ajudar caso realmente não possa fazer com XML ou algum script server-side.
Att.
Olha fiz aqui um código rapidinho para reconhecer as funções. (AS3)
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLRequest;
import flash.net.URLStream;
public class ForunsTest extends Sprite
{
public function ForunsTest()
{
var req:URLRequest = new URLRequest('http://www.mundonews.com.br/restrito/selos/geral.js.php'); // Requisição
var urlloader:URLStream = new URLStream(); // Objeto que puxa o JavaScript.
urlloader.addEventListener(Event.COMPLETE, this.urlLoaderCompleteHandler); // Função que é chamada ao terminar de carregar.
urlloader.load(req); // Manda carregar
}
protected function urlLoaderCompleteHandler(e:Event):void
{
var urlloader:URLStream = URLStream(e.target);
urlloader.removeEventListener(Event.COMPLETE, this.urlLoaderCompleteHandler); // Para o garbage poder coletar o URLStream
var buffer:String = urlloader.readUTFBytes(urlloader.bytesAvailable); // Extrai o código baixado para um string
var r:RegExp = new RegExp("([0-9]{2}:[0-9]{2}) - <a href=\\\\'([^\\\\]+)\\\\' target=\\\\'_blank\\\\'>([^<]+)</a>", 'g'); // Expressão regular que reconhece as notícias
var founds:Object = r.exec(buffer);
while (founds != null) { // Enquanto ainda existir notícia
// founds[1] é o hora
// founds[2] é o título
// founds[3] é o link
trace('Notícia:', founds[3], 'ocorrida às', founds[1], ' no endereço', founds[2]);
founds = r.exec(buffer);
}
}
}
}
Flw brother.
Valeu pela ajuda J Santos, mas não estou conseguindo usar seu código.
Eu copiei o que mandou e colei no código do Flash, porém ao rodar apresenta erros.
Segue abaixo os erros. O que pode estar errado ou eu precise fazer algo mais:
Error Scene=Scene 1, layer=Layer 1, frame=1:Line 1: Syntax error.
package {
Error Scene=Scene 1, layer=Layer 1, frame=1:Line 6: Attribute used outside class.
public class ForunsTest extends Sprite
Error Scene=Scene 1, layer=Layer 1, frame=1:Line 7: The class or interface 'flash.display.Sprite' could not be loaded.
{
Error Scene=Scene 1, layer=Layer 1, frame=1:Line 10: The class or interface 'flash.net.URLRequest' could not be loaded.
var req:URLRequest = new URLRequest('http://www.mundonews.com.br/restrito/selos/geral.js.php'); // Requisição
Error Scene=Scene 1, layer=Layer 1, frame=1:Line 11: The class or interface 'flash.net.URLStream' could not be loaded.
var urlloader:URLStream = new URLStream(); // Objeto que puxa o Javascript.
Error Scene=Scene 1, layer=Layer 1, frame=1:Line 15: Syntax error.
protected function urlLoaderCompleteHandler(e:Event):void
Error Scene=Scene 1, layer=Layer 1, frame=1:Line 17: The class or interface 'flash.net.URLStream' could not be loaded.
var urlloader:URLStream = URLStream(e.target);
Error Scene=Scene 1, layer=Layer 1, frame=1:Line 20: The class or interface 'RegExp' could not be loaded.
var r:RegExp = new RegExp("([0-9]{2}:[0-9]{2}) - <a href=\\\\'([^\\\\]+)\\\\' target=\\\\'_blank\\\\'>([^<]+)</a>", 'g'); // Expressão regular que reconhece as notícias
Error Scene=Scene 1, layer=Layer 1, frame=1:Line 26: Wrong number of parameters; trace requires exactly 1.
trace('Notícia:', founds[3], 'ocorrida às', founds[1], ' no endereço', founds[2]);
Error Scene=Scene 1, layer=Layer 1, frame=1:Line 15: This statement is not permitted in a class definition.
protected function urlLoaderCompleteHandler(e:Event):void
Total ActionScript Errors: 10 Reported Errors: 10
Alguém pode me ajudar com esse problema?
Amigo.
Pelo o que me parece isso é apenas Java Script no caso, creio que o ideal seria você buscar as noticias por meio de RSS lendo arquivos XML.
Estou desenvolvendo um script com ajuda do pessoal do fórum se quiser posso te passar.
Abs