Ir para conteúdo

POWERED BY:

Arquivado

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

lugao

xml carrega normalmente na maquina mas nao na pagina onde publico

Recommended Posts

to com um problema aqui, hospedo meu site na locaweb, mudei pra la por este problema, mas nao consigo fazer com que meu site acesse arquivos xml externos de serviços rss, os comandos que uso pra carregar o xml sao os seguintes:

 

System.useCodepage = true;var sport:XML = new XML();sport.ignoreWhite = true;sport.onLoad = function($sucesso){if($sucesso){esporten = (sport.firstChild.firstChild.childNodes[7].firstChild.firstChild.nodeValue)agusport._y = 500}else{trace($sucesso);trace("Ocorreu algum erro ao carregar os dados.");}}sport.load("http://rss.terra.com.br/0,,EI1137,00.xml");

quando eu do um ctrl+enter no flash pra testa-lo localmente na maquina, tudo funciona, mas quando publico o site em meu ftp, nao da nada certo..............

 

sera que alguem pode me da uma força?

Compartilhar este post


Link para o post
Compartilhar em outros sites

e é uma coisa esquisita, pois postei o xml em meu ftp, funcionou normalmente, o endereço externo está digitado corretamente, o que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, seguinte, tava pelejando aqui, quando eu puplico ele localmente no navegador F12 pede pra ir no site da macromedia e configurar politicas de acesso para o site, uso flash 8, que pelo que li la foi onde começou isso aeh.........daeh na aba de segurança global eu adicionei a pasta local onde ta meu site, e solucionou o problema localmente, mas o problema na publicação ainda ocorre, acessando o site on-line, ele nao tem acesso externo a arquivos xml........espero que alguem possa ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala LugaoBom...se você ainda não solucionou seu problema... aqui vaiO Flash só faz um refresh no nível 1 dos arquivos que estão na memória cache, ou seja, apenas do swf principal...Para solucionar seu problema, você terá que fazer o xml não ficar gravado no cache do usuário, porque assim toda vez o flash for usar o arquivo xml...ele o procurará na memória cache... não o encontrara... e então fará o buffer do arquivo novamente, atualizando-o.Se eu estiver errada quanto a alguma coisa, por favor me corrijam!Até a próxima

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu to achando é que o flash vai buscar e não está dando tempo de carregar...

mas tentar de outra forma !!

 

usando algum onEnterFrame... Interval algo que fique esperando a resposta do onLoad do xml !

 

na pior das hipoteses redirecione a um php que vai até o xml e joga no flash exemplo....

 

Class BlogRss

import mx.utils.Delegate;import mx.controls.TextArea;/*This is an ActionScript2 class to load, process and format XML documentsin the rss 1 and 2 format.Author: Steve Nelsonsn@thegoldenmean.comJanuary 2005To work around Flash's security restrictions theURL of any feed is passed to a PHP proxy script.*/class BLOGRSS {	public var target_txt:TextArea;	private var _xml:XML;	private var items:Array;	private var senderObj:LoadVars;	private var loaderID:Number;	public var modo:String = "item";	//constructor	function ProcessRSS (target:TextArea) {		target_txt = target;		proxyURL = proxy;		_xml = new XML();		_xml.ignoreWhite = true;		_xml.onLoad = Delegate.create(this, onLoadEvent);	}	private function onLoadEvent(success:Boolean):Void {		if (success) {			clearInterval(loaderID);						target_txt.text = "<p>Click a headline to open that entry in a new window.</p><br>";			items = getNodes(_xml, modo);			displayContent(items);		} else {		target_txt.text = "<p>XML failed to load.</p>";		}	}	private function loadFeed(feedURL:String):Void {		clearInterval(loaderID);		items = new Array();		target_txt.text = "";		target_txt.vPosition = 0;		_xml.load(feedURL);		this.loaderID = setInterval(this, "loadingFeedback", 25, _xml);	}	private function getNodes(node:XMLNode, name:String):Array {		var nodes:Array = new Array();		var c:XMLNode = node.firstChild;		while (c) {			if (c.nodeType != 3) {				if (c.nodeName	== name) {					nodes.push(c);				}			nodes = nodes.concat(getNodes(c, name));			}		c = c.nextSibling;		}	return nodes;	}	private function displayContent(source:Array):Void {		var entries:Number = source.length;		var currentNode:XMLNode;		var tempTitle:String;		var tempLink:String;		var tempDescription:String;					if (entries == 0){		modo = "entry"		onLoadEvent(true);				} else		{						if (modo == "item"){			for (var i:Number = 0; i<entries; i++){				currentNode = source[i];				tempTitle = extractContent(currentNode, "title");				tempLink = extractContent(currentNode, "link");				tempDescription = substring(extractContent(currentNode, "description"),1, 18)+"...";				var oneEntry:String = "<headline><a href='"+					tempLink+"' target='_blank'>"+tempTitle+					"</a></headline><p>"+					tempDescription+"</p><br>";				target_txt.text += oneEntry;			}		} else if (modo == "entry"){			for (var i:Number = 0; i<entries; i++){				currentNode = source[i];				tempTitle = extractContent(currentNode, "title");				tempDescription = extractContent(currentNode.childNodes[0].childNodes[0], "content");				var oneEntry:String = "<headline><a href='"+									tempLink+"' target='_blank'>"+tempTitle+									"</a></headline><p>"+									tempDescription+"</p><br>";				target_txt.text += oneEntry;			}		}					}	}	private function extractContent (source:XMLNode, name:String):String {		var nodeTxt:String = "";		var c:XMLNode = source.firstChild;			while (c) {			if (c.nodeType != 3) {				if (c.nodeName == name) {					nodeTxt = c.firstChild.nodeValue;						}				nodeTxt += extractContent(c, name);			}			c = c.nextSibling;		}		return nodeTxt;	}	private function loadingFeedback(xmlObj:XML):Void {		var amtLoaded:Number = xmlObj.getBytesLoaded();		if (amtLoaded <= 4){		target_txt.text = "<p>Requesting Data...</p>";		} else {		target_txt.text = "<p>Loaded: "+						Math.floor(amtLoaded/1024)+						" kilobytes</p>";		}	}}

php para a função

<?php$rss = $_GET['rss'];// tenha certeza de que está pagina esta sendo chamada !if ($rss && $rss != ""){	if ((strpos($rss, "http://") === 0) || (strpos($rss, "https://") === 0)){		readfile($rss);	}}?>

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.