LipeMacedo 0 Denunciar post Postado Agosto 7, 2010 Galera, bom dia!!! Bom, vamos a minha dúvida... Tenho um sistema de busca em flash + xml, só que no momento o mesmo varre o XML, acha o que foi buscado, mostra uma parte do texto e logo abaixo do texto ele coloca um link de "leia mais"... O problema que estou tendo é fazer com que esse link, "leia mais", aponte para um frame dentro do Flash e não para uma página em html... Já tentei dentro do XML colocal a URL somente com o número do frame e dentro do onRelease do As coloquei um gotoAndPlay, mas não obtive êxito... Gostaria de saber se á algum modo de fazer com que esse link aponte para um frame e não para uma página... segue o meu arquivo as para vcs verem... Desde já agradeço a todos!! // ActionScript Document String.prototype.contains = function(searchString){ return (this.indexOf(searchString) != -1); } Array.prototype.contains = function(searchValue){ var i = this.length; while(i--) if (this[i] == searchValue) return true; return false; } SearchXML = function(nodes, query, useChildElements){ var results = []; for (var i=0; i<nodes.length; i++){ for (var j=0; j<nodes[i].childNodes.length; j++){ currNode = nodes[i].childNodes[j]; if (useChildElements.contains(currNode.nodeName)){ if (currNode.firstChild.nodeValue.contains(query)){ results.push(nodes[i]); break; } } } } return results; } ElementsToSearch = function(){ var childElementsToSearch = []; if (search_fields.title_check.checked){ childElementsToSearch.push("title"); } if (search_fields.author_check.checked){ childElementsToSearch.push("author"); } if (search_fields.gt_check.checked){ childElementsToSearch.push("gt"); } if (search_fields.message_check.checked){ childElementsToSearch.push("message"); } return childElementsToSearch; } DisplayNodes = function(nodes, field_txt){ field_txt.htmlText = ""; var entry; var separator = " _______________________ "; for (var i=0; i<nodes.length; i++){ entry = ""; entry += "<b>"+ nodes[i].childNodes[0].firstChild.nodeValue +"</b>"; entry += " por: "+ nodes[i].childNodes[1].firstChild.nodeValue; entry += " "+ nodes[i].childNodes[2].firstChild.nodeValue; if (nodes[i].attributes.url.length){ entry += " <a href='" + nodes[i].attributes.url; target="self" entry += "'><font color='#0000FF'>Leia mais...</font></a>"; } field_txt.htmlText += entry + separator; } } search_highlight = new TextFormat(); search_highlight.color = 0xFF0000; search_highlight.italic = true; HighlightOccurences = function(str, field_txt, format){ if (!str.length) return (0); var start = field_txt.text.indexOf(str); var end = start + str.length; while (start != -1){ field_txt.setTextFormat(start, end, search_highlight); start = field_txt.text.indexOf(str, end); end = start + str.length; } } var posts_xml = new XML(); posts_xml.ignoreWhite = true; posts_xml.onLoad = function(success){ if (success){ search_fields._visible = true; }else results_txt.text = "Error loading XML"; } search_fields._visible = false; posts_xml.load("anped.xml"); search_fields.title_check.title_txt.text = "Título"; search_fields.author_check.title_txt.text = "Autor"; search_fields.gt_check.title_txt.text = "GT"; search_fields.message_check.title_txt.text = "Mensagem"; search_fields.search_btn.onRelease = function(){ if (search_fields.query_txt.text.length < 1){ results_txt.text = "Nada foi digitado."; return (0); } var searchElements = ElementsToSearch(); var nodesWithQuery = SearchXML( posts_xml.firstChild.childNodes, search_fields.query_txt.text, searchElements ); if (nodesWithQuery.length){ DisplayNodes( nodesWithQuery, results_txt ); }else{ results_txt.text = "Sem resultados para "+search_fields.query_txt.text+"."; return (0); } HighlightOccurences( search_fields.query_txt.text, results_txt, search_highlight ); scrollbar.setScroll(0); } scrollbar.setTarget(results_txt); Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Agosto 9, 2010 Do jeito que foi criado tem como não Link referente a html como <a href= blab > não rola de fazer no flash apontando pra frame... não tem como você fazer um <a href=1 ou frame1> para ele ir para o frame Você teria que adicionar um botão no flash e fazer o gotoAndStop referente ao frame Ou seja em vez de criar dinamicamente o link você tem que criar um botão dentro do flash que faça essa ação. Ouuuuu mantenha o link e use SWFAddress e faça a chamada dele no começo do flash para ler onde ele tem que ir... e faz o swfAddress apontar para o frame que você quer :) Ai vai fica mto mais pro :D rs Abraços Compartilhar este post Link para o post Compartilhar em outros sites
LipeMacedo 0 Denunciar post Postado Agosto 10, 2010 Opa!!! Valew berseck, por responder!! Estou tentando fazer umas artimanhas aqui e acho que estou conseguindo algo... Daqui a pouco posto aqui o que eu conseguir fazer!!! Mas gostei da ideia de usar o SWFAdress... Seria uma solução!! =D Valew mesmo!! Compartilhar este post Link para o post Compartilhar em outros sites