Comunidad de diseño web y desarrollo en internet online

CÓMO CREAR CÓDIGO HTML CON AS3

Citar            
MensajeEscrito el 25 Mar 2009 07:21 pm
Hola:

He conseguido crear código HTML desde AS3 (para que albergue un swf concreto) por medio de String, pero mi pregunta es ¿cómo puedo hacer que el códifo fuente de la página HTML se vea con los saltos de línea igual que cuando consigo crear un archivo XML? Aclaro que la página HTML no muestra nada, sólo quiero que contenga un determinado swf y pasarle unas variables contenidas en un XML.

Saludos.

Por joseb

20 de clabLevel



 

msie7
Citar            
MensajeEscrito el 25 Mar 2009 07:38 pm
hola

Fijate en utilizar \n para los salto de linea y \t para las tabulaciones


Saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 25 Mar 2009 08:13 pm
Gracias por tu respuesta. Lo intenté pero no me funcionaba. Probablemente esté haciendo algo mal (¿comillas simples o comillas dobles?). Te pongo un fragmento y si puedes me indicas:

var archivoHTML:String =
'<html xmls="http://www.w3.org/1999/xthml" xml:lang="es" lang="es">' +
'<head>' +
etc...
'</html>';

Precisamente, donde están los signos '+' para concatenar sería donde me gustaría hacer el salto de línea para que se viera así en el código fuente de la página.

Gracias.

Por joseb

20 de clabLevel



 

msie7
Citar            
MensajeEscrito el 25 Mar 2009 09:34 pm
Hola

Proba con esto

Código :

var archivoHTML:String =
"<html xmls=\"http://www.w3.org/1999/xthml\" xml:lang=\"es\" lang=\"es\">" +
"<head>\n" +
"\t<title/>\n"+
"</html>";

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 26 Mar 2009 07:31 am
Nada, sigue saliendo todo en una sola línea. He cambiado las comillas dobles por simples (hay varias comillas dobles en la primera línea, sobre todo cuando hay que poner los valores de algunas etiquetas) y sigue igual.

Es curioso que cuando veo el código fuente del HTML, aunque sale en una sola línea, sí parece respectar la tabulación (\t), pero no el salto de línea.

Gracias de nuevo.

Por joseb

20 de clabLevel



 

msie7
Citar            
MensajeEscrito el 26 Mar 2009 11:36 am
hola, ¿Has provado de usar <br> en lugar de \n ?

un saludo

Por Asur

10 de clabLevel



 

msie7
Citar            
MensajeEscrito el 26 Mar 2009 01:20 pm
Hola

Otra cosa q podes probar es generar un xml y luego guardarlo suando el toStringXML();

Código :

var xml:XML = new XML();
//generas el xml con todo el html
trace(xml.toStringXML());


Saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 26 Mar 2009 07:31 pm
Pues no, tampoco consigo que funcione, ni con la propiedad htmlText ni tratándolo como cuando genero un archivo XML desde AS3. Por cierto, ahí va el código con el que genero el XML, por si a alguno se os ocurre qué modificaciones hago para que grabe un HTML con sus saltos de línea y tabulaciones:

Código :

import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream;

var archivoXML:XML = <programa><actividad>true</actividad></programa>;
var archivo:File = File.documentsDirectory.resolvePath("carpeta/miarchivo.xml");
var fileStream = new FileStream();
fileStream.open(archivo,FileMode.WRITE);

var salida:String = '<?xml version = "1.0" encoding = "UTF-8"?>\n';
salida += archivoXML.toXMLString();
fileStream.writeUTFBytes(salida);
fileStream.close();



Y ahora el código que me funciona para generar el HTML, pero eso sí, en una sola línea; nada de saltos ni tabulaciones:

Código :

import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream;

var archivo:File = File.documentsDirectory.resolvePath("carpeta/miarchivo.html");
var fileStream = new FileStream();
fileStream.open(archivo,FileMode.WRITE);

var archivoHTML:String = '<html xmls="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">'+
'\t<head>'+
'\t<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />\n'+
'<title>prueba</title>'+
'</head>'+
'<BODY>'+
'<div align = "center">'+
'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+
'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" WIDTH="100%" HEIGHT="100%" align="top" >'+
'<param name="allowScripAccess" value="always" />'+
'<param name="movie" value="miswf.swf" />'+
'<param name="quality" value="high" />'+
'<param name="allowFullScreen" value="true" />'+
'<param name="FlashVars" value="archivo.xml" />'+
'<embed src="lim.swf" FlashVars="archivo.xml" WIDTH="100%" HIGHT="100%" align="top" quality ="high" allowFullScreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'+
'</object>'+
'</div>'+
'</body>'+
'</html>';

var salida:String = archivoHTML.toString();
fileStream.writeUTFBytes(salida);
fileStream.close();

Por joseb

20 de clabLevel



 

msie7
Citar            
MensajeEscrito el 26 Mar 2009 09:48 pm
hola

Perdon... me olvide q si estas en windows tenes q usar \n\r para el salto de linea


Proba con eso, saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 22 Nov 2011 07:42 pm

Por josse173

0 de clabLevel



Genero:Masculino  

PRO - GRA - MO

firefox
Citar            
MensajeEscrito el 24 Nov 2011 03:09 am
Hola man he encontrado algo y espero que te sea de ayuda, prueba el siguiente código:

Código ActionScript :

import flash.filesystem.*;
import flash.events.Event;

var docsDir:File = File.documentsDirectory;
try
{
    docsDir.browseForSave("Save As");
    docsDir.addEventListener(Event.SELECT, saveData);
}
catch (error:Error)
{
    trace("Failed:", error.message);
}

function saveData(event:Event):void 
{
    var newFile:File = event.target as File;
    var str:String = "Hello\n" + 
        "World\n";
    str = str.replace(/\n/g, File.lineEnding);

    if (!newFile.exists)
    {
        var stream:FileStream = new FileStream();
        stream.open(newFile, FileMode.WRITE);
        stream.writeUTFBytes(str);
        stream.close();
    }
}


El secreto esta en lineEnding:
La secuencia de caracteres de final de línea utilizada por el sistema operativo.

En Mac OS y Linux, el carácter de salto de línea (código hexadecimal 0x0A). En Windows, el carácter de retorno de carro (código hexadecimal 0x0D) seguido del carácter de salto de línea (código hexadecimal 0x0A).

El código escribe una cadena (str) en un archivo de texto y utiliza la propiedad estática File.lineEnding para reemplazar todas las instancias de caracteres de nueva línea (representados en el código por la expresión regular /\n/g) por el carácter de fin de línea preferido por el sistema operativo.



Saludos



eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.