Estou colocando o arquivo no endereço www.dazzleweb.com.br/busca.rar que contém um .fla(arquivo editável), .swf(arquivo publicado), .xml(arquivo para servir como BD), e .exe(executável, roda sem plugin).
Meu problema é que não consigo fazer essa busca que está no link funcionar corretamente. Por incrível que pareça, só o executável que está funcionando. Parece que quando executa o .swf por exemplo, o flash não consegue achar o arquivo .xml e, assim, exibe a tela de texto não encontrado. De qualquer forma, não consigo editar o .fla e fazê-lo funcionar corretamente.. Quem puder da uma jauda...
Os códigos principais para efetuar a busca são: (estão no 1º frame, como pode ser visto caso baixem o arquivo)
stop(); fscommand("allowscale", "false"); var dbArray = new Array(); var dbXML = new XML(); dbXML.onLoad = function() { var title, description, link, keywords; var ndRoot = this.firstChild; for(var i = 0; i < ndRoot.childNodes.length; i++) { if(ndRoot.childNodes[i].nodeName != null) { title = ndRoot.childNodes[i].attributes.title; description = ndRoot.childNodes[i].attributes.description; for(var j = 0; j < ndRoot.childNodes[i].childNodes.length; j++) { if(ndRoot.childNodes[i].childNodes[j].nodeName == "link") { link = ndRoot.childNodes[i].childNodes[j].firstChild.nodeValue; } else if(ndRoot.childNodes[i].childNodes[j].nodeName == "keywords") { keywords = ndRoot.childNodes[i].childNodes[j].firstChild.nodeValue.split("|"); } } dbArray.push(new _root.record(title, description, keywords, link)); } } } function record(title, description, keywords, link) { this.title = title this.description = description; this.keywords = keywords; this.link = link; } function search(string) { var nResults = 0; for(var i = 0; i < dbArray.length; i++) { for(j = 0; j < dbArray[i].keywords.length; j++) { if (dbArray[i].keywords[j].toLowerCase() == string) { found = true; nResults++; break; } } if(found) { results += "<b><a href=\""+ dbArray[i].link + "\"><u>" + dbArray[i].title + "</u></a></b>" + "<br>"; results += dbArray[i].description + "<br><br>"; found = false; } } if(nResults == 0) { results = "<b>Nenhum resultado com estes critérios. Faça outra pesquisa...</b>"; } gotoAndStop(10); } dbXML.load("database.xml"); Selection.setFocus("word");
Quem precisar que comente alguma linha do código para entender melhor, da um toque..
E por favor, quem souber arrumar essa busca em xml eu agradeceria muito...
O arquivo segue no link para quem precisar também.. Clique Aqui para baixar o arquivo e ajude a consertá-lo por gentileza.. hehehe
Muito obrigado e até..
Thiago <-> SmarThi