tag:blogger.com,1999:blog-252084382009-06-19T14:06:32.106-05:00Javier MataBlog personal de Javier Mata Director general de CreandoWEBS Webmaster y administrador de diferentes sitios como www.parasuevento.com y www.cristovivo.com.JAMnoreply@blogger.comBlogger10125tag:blogger.com,1999:blog-25208438.post-30314224777308369892009-02-06T21:25:00.006-06:002009-02-06T22:30:20.696-06:00Un poco de AJAX con ASPBueno, muchas veces tenemos paginas muy bonitas o con buenos sistemas pero con diseño a la antiguita, es decir, con programacion que hace que cada que se carga un enlace nuevo tenemos que recargar toda la pagina, AJAX nos permite hacer cargas de partes de codigo sin tener que recargar la pagina completa y las demoras y molestias que esto genera.<br /><br />Aqui les mostrare de manera muy basica pero funcional como usar esta tecnologia en nuestras paginas, ya dependera de la creatividad de cada quien el uso que le den.<br /><span class="fullpost"><br />Para implementar esto debemos identificar 3 cosas, un archivo .JS que llama a AJAX, segundo un boton, enlace, formulario o parte que pudiera llamar una funcion Javascript, y tercero, un DIV donde se desplegara el resultado, ahora explico cada una.<br /><br />Primero y antes que nada necesitamos el archivo .JS el cual les pongo aqui <a style="font-weight: bold;" href="http://blog.creandowebs.com/ajax_loader.js" target="_blank">ajax_loader.js</a> para su descarga, el cual llamaremos en nuestra pagina asi:<br /><code>&lt;script src="ajax_loader.js" type="text/javascript"&gt;&lt;/script&gt;</code><br /><br />Esto dentro de las etiquetas <code>&lt;head&gt;&lt;/head&gt;</code><br /><br />Despues necesitaremos el metodo que llame a la funcion que realizara la magia del asunto, en este caso pondre un SELECT con un codigo algo asi:<br /><br /><code><br />&lt;select name="prueba" onchange="htmlData('<span style="font-weight: bold;">ajax.asp</span>', '<span style="font-weight: bold;">resultado</span>', '<span style="font-weight: bold;">envia='+this.value</span>)"&gt;<br />&lt;option value="1"&gt;OPCION 1&lt;/option&gt;<br />&lt;option value="2"&gt;OPCION 2&lt;/option&gt;<br />&lt;option value="3"&gt;OPCION 3&lt;/option&gt;<br />&lt;/select&gt;<br /><br />&lt;div id="<span style="font-weight: bold;">resultado</span>"&gt;&lt;/div&gt;<br /></code><br />Donde lo que esta en negritas es lo que hay que cambiar segun sea el caso:<br /><span style="font-weight: bold;">ajax.asp</span>: es el archivo que procesara la informacion a publicar<br /><span style="font-weight: bold;">resultado</span>: es el nombre del DIV donde se mostrara el resultado<br /><span style="font-weight: bold;">envia='+this.value</span>: es donde podremos poner informacion que se enviara mediante el metodo GET como el que se usa en los formularios, podria ser diferente, hay que contemplar que es la informacion que recibira el archivo y que se usara para la informacion que se procese, otro ejemplo podria ser algo asi a=1&amp;b=2&amp;c=3, en el ejemplo de arriba se toma el valor del SELECT usando algo de JAVASCRIPT.<br /><br />Resumiendo:<br />- Hay que generar e incrustar el archivo .JS <span style="font-weight: bold;">ajax_loader.js</span><br />- Agregar el codigo que llame a la funcion <span style="font-weight: bold;">htmlData()</span> dentro de algun sistema que lo permita<br />- Generar el archivo ASP que procesara la informacion que se envie en la funcion anterior, en el ejemplo es <span style="font-weight: bold;">ajax.asp</span>.<br /><br /><a style="font-weight: bold;" href="http://www.creandowebs.com/ejemplo_ajax.asp" target="_blank">Se puede ver un ejemplo aqui</a>.<br /><br />En el ejemplo de la pagina se usaron los siguientes codigos:<br />PAGINA <span style="font-weight: bold;">ejemplo_ajax.asp</span> (Contenedora del script y del SELECT)<br /><br /><code><br />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;<br />&lt;title&gt;Ejemplo de AJAX&lt;/title&gt;<br />&lt;script src="ajax_loader.js" type="text/javascript"&gt;&lt;/script&gt;<br />&lt;/head&gt;<br /><br />&lt;body&gt;<br />&lt;form action="javascript:void%200"&gt;<br /> &lt;select name="prueba" onchange="htmlData('ajax.asp', 'resultado', 'muestra=HOLA&amp;prueba='+this.value)"&gt;<br /> &lt;option value=""&gt;SELECCIONA UNA OPCION&lt;/option&gt;<br /> &lt;option value="1"&gt;OPCION 1&lt;/option&gt;<br /> &lt;option value="2"&gt;OPCION 2&lt;/option&gt;<br /> &lt;option value="3"&gt;OPCION 3&lt;/option&gt;<br /> &lt;/select&gt;<br />&lt;/form&gt;<br /><br />&lt;div id="resultado"&gt;TEXTO ORIGINAL&lt;/div&gt;<br />&lt;br /&gt;&lt;br /&gt;<br />&lt;%=now()%&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /></code><br /><br />PAGINA <span style="font-weight: bold;">ajax.asp</span> (La que procesa la info a publicar)<br /><code><br />&lt;%Response.CharSet = "ISO-8859-1"<br />Response.addHeader "pragma", "no-cache"<br />Response.CacheControl = "Private"<br />Response.Expires = 0<br /><br />muestra=request.QueryString("muestra")<br />prueba=request.QueryString("prueba")<br /><br />if prueba="" then<br />response.write "NO HAS SELECCIONADO NADA"<br />else<br />response.write "MUESTRA:" &amp; muestra &amp; "&lt;br&gt;"<br />response.write "OPCION SELECCIONADA:" &amp; prueba &amp; "&lt;br&gt;&lt;br&gt;"<br />response.write now()<br />end if<br />%&gt;<br /></code><br /><br />Realmente es algo que me esta moviendo mucho el usar esta tecnologia por la agilidad que le da a nuestros sistemas, espero que la explicacion haya sigo clara y puedas probarlo.</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25208438-3031422477730836989?l=blog.creandowebs.com%2Findex.htm'/></div>JAMnoreply@blogger.com2tag:blogger.com,1999:blog-25208438.post-81932151942051440892008-10-22T22:01:00.002-05:002008-10-22T22:05:00.925-05:00Saber cotizacion del Dolar-Peso MX con ASPExistiran algunas veces en las que necesites saber el precio actual del dolar en pesos, para esto puedes usar informacion de algunos bancos, en este caso utilizo la de HSBC, una vez obtenida la info pues podras hacer con ella cuentas o lo que quieras con ella.<br /><br />El sistema funciona con el siguiente codigo:<span class="fullpost"><br /><pre style="margin-left: 10px;"><br /> Response.Buffer = True<br /> Set xml = Server.CreateObject("Microsoft.XMLHTTP")<br /> xml.Open "GET", "http://dsrefa01.hsbc.com.mx/aptrix/InternetPub.nsf/Content/TasasSplash", False<br /> xml.Send<br /> Cadena = CSTR(xml.responseText)<br /> PosIni1 = InStr(Cadena,"DOLAR AMERICANO")<br /> PosIni2 = InStr(PosIni1,Cadena,"$")<br /> PosFin = InStr(PosIni2, Cadena,"<") DolarCompra = MID(Cadena, PosIni2, PosFin-PosIni2) PosIni1 = PosFin PosIni2 = InStr(PosIni1,Cadena,"$") PosFin = InStr(PosIni2, Cadena,"<") DolarVenta = MID(Cadena, PosIni2, PosFin-PosIni2) Set xml = Nothing </pre><br />El resultado quedara en las variables <span style="font-weight: bold;">DolarCompra</span> y <span style="font-weight: bold;">DolarVenta</span><br /><br />Espero te sirva de algo<br /></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25208438-8193215194205144089?l=blog.creandowebs.com%2Findex.htm'/></div>JAMnoreply@blogger.com0tag:blogger.com,1999:blog-25208438.post-37481287336730815712008-10-22T21:44:00.010-05:002009-02-06T22:38:42.612-06:00Whois con ASPMuchos me han preguntado como se puede hacer un Whois para sus paginas, he aqui uno, que utiliza datos de internic y de Nic Mexico (aunque parece que han cambiado los de NIC y ya no se muestra como antes).<br /><br />Este whois sirve para checar la disponibilidad de los dominios.<span class="fullpost"><br /><pre style="margin-left: 10px; width: 350px;"><br />'Poner tiempo de espera a 90min<br />Server.ScriptTimeout = 90<br /><br />'Whois function to query the whois server<br />Private Function whoisResult(whoisURL, strMethod, strResultsStart, strResultsEnd)<br /><br /> 'Dimension variables<br />Dim objXMLHTTP<br /> Dim strWhoisResultString<br /><br /> Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")<br /><br /> objXMLHTTP.Open strMethod, whoisURL, False<br /> <br /> objXMLHTTP.Send<br /><br /> strWhoisResultString = objXMLHTTP.ResponseText<br /><br /> If Len(strDomainName) < whoisresult = "No Valido - debe tener por lo menos 3 caracteres" whoisresult = "A ocurrido un error" whoisresult =" resultFormater(strWhoisResultString," objxmlhttp =" Nothing" lngresultsstartpos =" InStr(1," lngresultsendpos =" InStr(lngResultsStartPos," lngresultsstartpos ="<" lngresultsendpos =" lngResultsStartPos" resultformater =" Trim(Mid(strWhoisResultString," intloopcounter =" 0" strtextinput =" Replace(strTextInput," intloopcounter =" 46" strtextinput =" Replace(strTextInput," intloopcounter =" 58" strtextinput =" Replace(strTextInput," intloopcounter =" 123" strtextinput =" Replace(strTextInput," characterstrip =" strTextInput"> "" Then<br /><br /> strDomainName = LCase(strDomainName)<br /><br /> strDomainName = Replace(strDomainName, "http://", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, "www.", "", 1, -1, 1)<br /><br /> strDomainName = Replace(strDomainName, ".com", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".net", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".org", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".info", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".biz", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".tv", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".name", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".co.uk", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".org.uk", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".ltd.uk", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".plc.uk", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".net.uk", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".me.uk", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".pn.uk", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".com.mx", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".net.mx", "", 1, -1, 1)<br /> strDomainName = Replace(strDomainName, ".org.mx", "", 1, -1, 1)<br /><br /> If Left(strDomainName, 1) = "-" Then strDomainName = Mid(strDomainName, 2, Len(strDomainName))<br /> If Right(strDomainName, 1) = "-" Then strDomainName = Mid(strDomainName, 1, Len(strDomainName)-1)<br /><br /> strDomainName = Replace(strDomainName, "--", "-", 1, -1, 1)<br /><br /> strDomainName = characterStrip(strDomainName)<br />End If<br /><br />If strDomainName <> "" Then<br /> Response.Write("<pre>")<br /><br />Response.Write("<b>Resultados de la busqueda de<br />www." &amp; strDomainName &amp; strSuffix &amp; "</b><br /><br />")<br /> <br /> If strSuffix = ".com" Then<br /> Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" &amp; strDomainName &amp; ".com&amp;type=domain", "GET", "<pre>", "</pre>"))<br /> <br /> ElseIf strSuffix = ".net" Then<br /> Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" &amp; strDomainName &amp; ".net&amp;type=domain", "GET", "<pre>", "</pre>"))<br /><br /> ElseIf strSuffix = ".org" Then<br /> Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" &amp; strDomainName &amp; ".org&amp;type=domain", "GET", "<pre>", "</pre>"))<br /><br /> ElseIf strSuffix = ".biz" Then<br /> Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" &amp; strDomainName &amp; ".biz&amp;type=domain", "GET", "<pre>", "</pre>"))<br /><br /> ElseIf strSuffix = ".info" Then<br /> Response.Write(whoisResult("http://www-whois.internic.net/cgi/whois?whois_nic=" &amp; strDomainName &amp; ".info&amp;type=domain", "GET", "<pre>", "</pre>"))<br /><br /> ElseIf strSuffix = ".com.mx" Then<br /> Response.Write(whoisResult("http://www.sitiosweb.com.mx/whois/example.php?domain=" &amp; strDomainName &amp; strSuffix &amp; "&amp;domain_type=1&amp;template_type=&amp;object_type_1=&amp;object_type_2=&amp;object_type_3=3&amp;text=" &amp; strDomainName &amp; "&amp;current_page=Busqueda.Who_Is_2", "GET", "Este dominio esta disponible"))<br /><br /> ElseIf strSuffix = ".net.mx" Then<br /> Response.Write(whoisResult("http://www.sitiosweb.com.mx/whois/example.php?domain=" &amp; strDomainName &amp; strSuffix &amp; "&amp;domain_type=3&amp;template_type=&amp;object_type_1=&amp;object_type_2=&amp;object_type_3=3&amp;text=" &amp; strDomainName &amp; "&amp;current_page=Busqueda.Who_Is_2", "GET", "Este dominio esta disponible"))<br /><br /> ElseIf strSuffix = ".org.mx" Then<br /> Response.Write(whoisResult("http://www.sitiosweb.com.mx/whois/example.php?domain=" &amp; strDomainName &amp; strSuffix &amp; "&amp;domain_type=5&amp;template_type=&amp;object_type_1=&amp;object_type_2=&amp;object_type_3=3&amp;text=" &amp; strDomainName &amp; "&amp;current_page=Busqueda.Who_Is_2", "GET", "Este dominio esta disponible"))<br />End If<br /><br /> Response.Write("</pre>")<br />End If<br /></pre><br /><br />Espero les sirva</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25208438-3748128733673081571?l=blog.creandowebs.com%2Findex.htm'/></div>JAMnoreply@blogger.com0tag:blogger.com,1999:blog-25208438.post-42407003569372451802008-10-22T21:36:00.004-05:002008-10-22T21:41:53.524-05:00Contar resultados en MySQL y ASPNormalmente cuando comenzamos a programar en ASP comenzamos con tablas Access, las cuales son muy utiles hasta cierto punto, cuando ya has migrado a MySQL (Muy recomendable) algunas cosas cambian, como el hecho de mostrar los resultados de una consulta.<br /><br />En Access usamos algo asi:<br /><pre style="margin-left: 10px;">SQL="Select * From TABLA"<br />RS.Open SQL, oConn,1,1<br />cuantos=RS.RecordCount</pre><br /><br />Pero en MySQL la cosa cambia, si usamos esa tecnica el resultado sera un horrible -1, para corregir esto hay que usar lo siguiente:<br /><br /><span class="fullpost"><br />Simplemente agrega esto:<br /><pre style="margin-left: 10px;">RS.CursorLocation = 3</pre><br /><br />Antes del RS.Open<br /><br />Y Walaa, espero te sirva.<br /></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25208438-4240700356937245180?l=blog.creandowebs.com%2Findex.htm'/></div>JAMnoreply@blogger.com0tag:blogger.com,1999:blog-25208438.post-40191647923007741312008-09-29T11:25:00.004-05:002008-09-29T11:55:36.322-05:00Funcion para convertir entre ASCII y Caracteres en ASPEsta funcion puede servir para por ejemplo cuando queremos hacer una validacion de usuarios respetanto mayusculas y minusculas (cosa que no hace ASP). Tenemos la opcion de convertir los caracteres por su valor en ASCII y viceversa, la funcion es:<br /><span class="fullpost"><br /><br />Function StringToAscii(str)<br /> Dim result, x<br /> StringToAscii = ""<br /> If Len(str)=0 Then Exit Function<br /> If Len(str)=1 Then<br /> result = Asc(Mid(str, 1, 1))<br /> StringToAscii = Left("000", 3-Len(CStr(result))) &amp; CStr(result)<br /> Exit Function<br /> End If<br /> result = ""<br /> For x=1 To Len(str)<br /> result = result &amp; StringToAscii(Mid(str, x, 1))<br /> Next<br /> StringToAscii = result<br />End Function<br /><br />Function AsciiToString(str)<br /> Dim result, x<br /> AsciiToString = ""<br /> If Len(str)<3 Then Exit Function<br /> If Len(str)=3 Then<br /> AsciiToString = Chr(CInt(str))<br /> Exit Function<br /> End If<br /> result = ""<br /> For x=1 To Len(str) Step 3<br /> result = result &amp; AsciiToString(Mid(str, x, 3))<br /> Next<br /> AsciiToString = result<br />End Function<br /><br />'usage<br />Dim myString, strASCII<br />myString = "hello world"<br />strASCII = StringToAscii(myString)<br />Response.Write("original string: " &amp; myString &amp; "<br />")<br />Response.Write("ASCII: " &amp; strASCII &amp; "<br />")<br />Response.Write("back to string: " &amp; AsciiToString(strASCII) &amp; "<br />")<br /></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25208438-4019164792300774131?l=blog.creandowebs.com%2Findex.htm'/></div>JAMnoreply@blogger.com0tag:blogger.com,1999:blog-25208438.post-87300830262139691262008-06-07T20:33:00.003-05:002008-06-07T21:08:55.436-05:00Tips para FirefoxTodos hemos adoptado a nuestro navegador (browser) favorito, el mio es Firefox por muchas razones que no son el tema de este post profundizar. Para los que como yo han adoptado a este navegador o lo usan eventualmente les paso unos tips de configuracion para que su uso sea todavia mejor. Para esto consideraremos la version en español de Firefox, si usas la version en ingles no creo que tengas problemas para encontrar las opciones.<span class="fullpost"><br /><br /><span style="font-weight:bold;">Más espacio en pantalla.</span><br />Si quieres tener mas espacio en tu pantalla de navegacion te recomiendo que reduzcas el tamaño de los iconos del mismo, para esto ve a Ver / Barras de herramientas / Personalizar / Usar iconos pequeños.<br /><br /><span style="font-weight:bold;">Atajos de teclado.</span><br />Aqui te muestro algunos atajos del teclado para el navegador:<br /> * Barra espaciadora (Avanzar en la pagina)<br /> * Shift-Barra espaciadora (Subir en la pagina)<br /> * Ctrl+F (Buscar)<br /> * Alt-N (Buscar siguiente)<br /> * Ctrl+D (Marcadores)<br /> * Ctrl+T (Nueva pestaña)<br /> * Ctrl+K (Ir a la caja de busqueda)<br /> * Ctrl+L (Ir a la caja de direccion)<br /> * Ctrl+= (incrementar tamaño de texto)<br /> * Ctrl+- (reducir tamaño de texto)<br /> * Ctrl-W (cerrar pestaña)<br /> * F5 (recargar)<br /> * Alt-Home (Ir a la pagina de inicio)<br /><br /><span style="font-weight:bold;">Auto-completar.</span><br />Este es otro atajo del teclado muy interesante pero comunmente no utilizado, hay que irnos a la barra de direccion (Ctrl + L) y escribe un nombre como por ejemplo google y despues presiona Ctrl + Enter para agregar a lo escrito el www. y el .com. con lo que nos quedara completa la url (www.google.com).<br /><br />Para mas opciones de extensiones usa Shift + Enter para .net y para .org Shift + Ctrl + Enter.<br /><br /><span style="font-weight:bold;">Navegar por las pestañas.</span><br />Para movernos entre las pestañas usa las siguientes combinaciones:<br /> * Ctrl+Tab (Intercambiar entre las pestañas hacia adelante)<br /> * Ctrl+Shft+Tab (Intercambiar hacia atras en las pestañas)<br /> * Ctrl+1-9 (Selecciona el numero de saltos entre las pestañas)<br /><br /><span style="font-weight:bold;">About:config</span><br />Un poderoso editor de configuracion de nuestro navegador esta en el mismo, tecleando about:config en la barra de direccion. Para opciones de este editor visita http://mozillazine.org/misc/about:config/<br /><br /><span style="font-weight:bold;">Acelera tu Firefox.</span><br />Si usas banda ancha para conectarte a internet (como la mayoria) puedes usar una seccion de la configuracion llamada pipeline para acelerar la carga y navegacion por las paginas, para esto has lo siguiente:<br /><br /> * Escribe “about:config” en la barra de direccion y presiona Enter. Escribe “network.http” en el campo de Filtro, y cambia la siguiente configuracion (doble click sobre la opcion a cambiar):<br /> * Pon “network.http.pipelining” a “true”<br /> * Pon “network.http.proxy.pipelining” a “true”<br /> * Pon “network.http.pipelining.maxrequests” a un numero como 30. Esto permite realizar 30 solicitudes al mismo tiempo.<br /> * Ahora, click derecho en una parte en blanco y selecciona Nuevo-> Entero. Nombralo “nglayout.initialpaint.delay” y pon el valor en "0″. Este valor es el tiempo que el navegador esperara entre la espera y la muestra de la informacion recibida.<br /><br /><span style="font-weight:bold;">Limitar el uso de RAM.</span><br />Si Firefox consume mucha memoria en tu maquina puedes limitar la RAM permitida para el uso del navegador, en about:config ingresa browser.cache y selecciona “browser.cache.disk.capacity” y ponle la cantidad de memoria que desees asignarle intenta poner 15000 si tienes entre 512mb y 1gb de memoria.<br /><br /><span style="font-weight:bold;">Reducir el uso de RAM al minimizar.</span><br />Con esto puedes liberar memoria utilizada por el navegador cuando este se minimiza, para ello ingresa al editor about:config y crea un nuevo registro (Click derecho / Nuevo -> Logico) y nombralo "config.trim_on_minimize" y con valor TRUE y reinicia Firefox.<br /><br /><span style="font-weight:bold;">Remover el boton Cerrar pestaña</span><br />Si continuamente cierras por accidente pestañas o simplemente quiere quitar el boton de cerrado de pestañas de las mismas haz lo siguiente, en el editor about:config busca la opcion “browser.tabs.closeButtons” y selecciona un valor de los siguientes:<br /><br /> * 0: Mostrar el boton de cerrado en la pestaña activa solamente.<br /> * 1: (Default) Mostrar boton de cerrar en todas las pestañas<br /> * 2: No mostrar el boton de cerrado en ninguna pestaña<br /> * 3: Mostrar un boton de cerrado al final de la barra de pestañas<br /></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25208438-8730083026213969126?l=blog.creandowebs.com%2Findex.htm'/></div>JAMnoreply@blogger.com0tag:blogger.com,1999:blog-25208438.post-25463464502919910092007-10-30T12:49:00.001-06:002008-12-07T23:50:50.956-06:00Quitar marcos y activar Flash en IEResulta muy molesto que debido a problemas de intereses ahora el IE (Internet Explorer) bloquee de alguna manera los Flash de las paginas web obligandonos a activarlo con un click encima de la animación o bien presionando la barra espaciadora o Enter para que quede disponible para usarlo.<span class="fullpost"><br /><br />Se conocen varios hacks para evitar esto, a mi el que me ha funcionado muy bien es este metodo:<br />1.- <span style="font-weight: bold;">Descargar el archivo</span> <a href="http://blog.creandowebs.com/flashobject.js">flashobject.js</a><br /><br />2.- <span style="font-weight: bold;">Agregar la incursion del mismo en la pagina asi</span>:<br /><span class="fullpost">&lt;script </span>type="text/javascript" src="flashobject.js"><span class="fullpost">&lt;</span>/script><!-- script--><br />Entre las etiquetas <span class="fullpost">&lt;</span>HEAD><span class="fullpost">&lt;/HEAD></span><br /><br />3.- <span style="font-weight: bold;">Llamar a nuestro flash con el siguiente codigo</span>:<br /><span class="fullpost">&lt;</span>div id="top"><br /><span class="fullpost">&lt;</span>!--Flash --><br /><span class="fullpost">&lt;</span>/div><br /><span class="fullpost">&lt;</span>script type="text/javascript"><br />var mymovie = new FlashObject("<span style="font-weight: bold;">top.swf</span>", "top", "<span style="font-weight: bold;">750</span>", "<span style="font-weight: bold;">350</span>", "7", "");<br />mymovie.addParam("menu", "false");<br />mymovie.write("top");<br /><span class="fullpost">&lt;</span>/script><br /><br />cambiando lo que esta en <span style="font-weight: bold;">negritas</span> y que se refiere al archivo, ancho y alto respectivamente y listo, el flash deberá ahora mostrarse sin el molesto marco ni tener que activarlo.</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25208438-2546346450291991009?l=blog.creandowebs.com%2Findex.htm'/></div>JAMnoreply@blogger.com1tag:blogger.com,1999:blog-25208438.post-1152286991671537362006-07-07T10:33:00.000-05:002006-11-10T17:56:53.855-06:00"Includes" con JS usando XMLMuchas veces tenemos paginas en servidores que no soportan los Server Side Includes, con este script podemos agregar una pagina como un include pero siendo Client Side Include :-D .<span class="fullpost"><br /><br /><span style="font-size:85%;"><span style="color: rgb(0, 0, 0);"><span style="font-weight: bold;">NOTA:</span> Algunos servidores, sobretodo gratuitos marcan un error con este script, por lo que no se garantiza que a todos les sirva</span></span><br /><br />Para instalar el script coloca lo siguiente entre las etiquetas &lt;head>&lt;/head><br /><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">&lt;script type="text/javascript"></span><br /><span style="color: rgb(102, 102, 102);">function include(xUrl,xId) {</span><br /><br /><span style="color: rgb(102, 102, 102);">var xmlhttp = false;</span><br /><br /><span style="color: rgb(102, 102, 102);">/*@cc_on @*/</span><br /><br /><span style="color: rgb(102, 102, 102);">/*@if (@_jscript_version >= 5)</span><br /><br /><span style="color: rgb(102, 102, 102);">// JScript gives us Conditional compilation, we can cope with old IE versions.</span><br /><span style="color: rgb(102, 102, 102);">// and security blocked creation of the objects.</span><br /><br /><span style="color: rgb(102, 102, 102);">try {</span><br /><span style="color: rgb(102, 102, 102);"> xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");</span><br /><span style="color: rgb(102, 102, 102);"> } catch (e) {</span><br /><span style="color: rgb(102, 102, 102);"> try {</span><br /><span style="color: rgb(102, 102, 102);"> xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");</span><br /><span style="color: rgb(102, 102, 102);"> } catch (E) {</span><br /><span style="color: rgb(102, 102, 102);"> xmlhttp = false;</span><br /><span style="color: rgb(102, 102, 102);"> }</span><br /><span style="color: rgb(102, 102, 102);"> }</span><br /><br /><span style="color: rgb(102, 102, 102);">/*@end @*/</span><br /><br /><span style="color: rgb(102, 102, 102);">if (!xmlhttp &&amp; typeof XMLHttpRequest!='undefined') {</span><br /><span style="color: rgb(102, 102, 102);"> xmlhttp = new XMLHttpRequest();</span><br /><span style="color: rgb(102, 102, 102);">}</span><br /><br /><span style="color: rgb(102, 102, 102);">xmlhttp.open("GET", xUrl,true);</span><br /><span style="color: rgb(102, 102, 102);">xmlhttp.onreadystatechange=function() {</span><br /><br /><span style="color: rgb(102, 102, 102);"> if (xmlhttp.readyState==4) {</span><br /><span style="color: rgb(102, 102, 102);"> document.getElementById(xId).innerHTML = xmlhttp.responseText;</span><br /><span style="color: rgb(102, 102, 102);"> }</span><br /><span style="color: rgb(102, 102, 102);">}</span><br /><span style="color: rgb(102, 102, 102);">xmlhttp.send(null)</span><br /><br /><span style="color: rgb(102, 102, 102);">}</span><br /><span style="color: rgb(102, 102, 102);">&lt;/script></span></span><br /><br /><br />Y ahora llamamos la funcion asi:<br /><span style="color: rgb(102, 102, 102);font-size:85%;" >&lt;div id="'xjam">&lt;/div><br />&lt;script type="text/javascript"><br />include('<span style="font-weight: bold;">contenido.htm</span>', "xjam");<br />&lt;/script></span><br /><br />Donde cambiaremos el archivo a incluir que es lo marcado en negritas</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25208438-115228699167153736?l=blog.creandowebs.com%2Findex.htm'/></div>JAMnoreply@blogger.com3tag:blogger.com,1999:blog-25208438.post-1150995055836495942006-06-22T11:33:00.000-05:002006-11-10T17:50:55.271-06:00PNG y sus transparencias en IEDe muchos es sabido que el IE no trabaja bien las transparencias de los archivos PNG que las contengan, esta es una de las tantas fallas del IE, pero pues todo tiene solucion y esta es algo facil de implementar y corregir, existen PNG's que podemos usar como imagenes dentro de la pagina o bien como fondos, para ambos casos tenemos las mismas opciones<br /><ol><li>Usar GIF's aunque perdamos calidad</li><li>Utilizar otro navegador como el Mozilla Firefox y tirar el IE a la basura</li><li>Implementar un pequeño script para solucionar esta falla</li></ol><span class="fullpost">Para la opcion 1 pues habria que tener en cuenta que el archivo GIF no te dara la calidad de los PNG's, ademas de que estos solo soportan un canal de transparencia, por lo que no podrias hacer degradados transparentes.<br /><br />Para la segunda pues que mas quisieramos los diseñadores que pudiera tomarse como una opcion, en realidad hay mucha gente que usa el navegador que viene con su sistema operativo y no le interesa probar algun otro por mejor que pueda ser, asi que por lo pronto optaremos por la tercera opcion.<br /><br />Este script lo que hace es que si el navegador es el IE aplique a los PNG automaticamente un filtro Alpha para las transparencias, como comento arriba, no hay mas que hacer mas que pegar esto, el script lo hace todo solo :-D<br /><br /><span style="font-size:85%;"><span style="color: rgb(153, 153, 153);">&lt;!--[if gte IE 5.5000]&gt;</span><br /><span style="color: rgb(153, 153, 153);">&lt;script language="JavaScript"&gt;</span><br /><span style="color: rgb(153, 153, 153);">function correctPNG() // correctly handle PNG transparency in Win IE 5.5 or higher.</span><br /><span style="color: rgb(153, 153, 153);"> {</span><br /><span style="color: rgb(153, 153, 153);"> for(var i=0; i&lt;document.images.length; i++)</span><br /><span style="color: rgb(153, 153, 153);"> {</span><br /><span style="color: rgb(153, 153, 153);"> var img = document.images[i]</span><br /><span style="color: rgb(153, 153, 153);"> var imgName = img.src.toUpperCase()</span><br /><span style="color: rgb(153, 153, 153);"> if (imgName.substring(imgName.length-3, imgName.length) == "PNG")</span><br /><span style="color: rgb(153, 153, 153);"> {</span><br /><span style="color: rgb(153, 153, 153);"> var imgID = (img.id) ? "id='" + img.id + "' " : ""</span><br /><span style="color: rgb(153, 153, 153);"> var imgClass = (img.className) ? "class='" + img.className + "' " : ""</span><br /><span style="color: rgb(153, 153, 153);"> var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "</span><br /><span style="color: rgb(153, 153, 153);"> var imgStyle = "display:inline-block;" + img.style.cssText</span><br /><span style="color: rgb(153, 153, 153);"> if (img.align == "left") imgStyle = "float:left;" + imgStyle</span><br /><span style="color: rgb(153, 153, 153);"> if (img.align == "right") imgStyle = "float:right;" + imgStyle</span><br /><span style="color: rgb(153, 153, 153);"> if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle </span><br /><span style="color: rgb(153, 153, 153);"> var strNewHTML = "&lt;span " + imgID + imgClass + imgTitle</span><br /><span style="color: rgb(153, 153, 153);"> + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"</span><br /><span style="color: rgb(153, 153, 153);"> + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"</span><br /><span style="color: rgb(153, 153, 153);"> + "(src=\'" + img.src + "\');\"&gt;&lt;/span&gt;"</span><br /><span style="color: rgb(153, 153, 153);"> img.outerHTML = strNewHTML</span><br /><span style="color: rgb(153, 153, 153);"> i = i-1</span><br /><span style="color: rgb(153, 153, 153);"> }</span><br /><span style="color: rgb(153, 153, 153);"> }</span><br /><span style="color: rgb(153, 153, 153);"> }</span><br /><span style="color: rgb(153, 153, 153);">window.attachEvent("onload", correctPNG);</span><br /><span style="color: rgb(153, 153, 153);">&lt;/script&gt;</span><br /><span style="color: rgb(153, 153, 153);">&lt;![endif]--&gt;</span></span><br /><br /><br />Otra de las opciones de uso de un PNG es para fondos, esto se puede solucionar con lo siguiente entre las etiquetas <span style="font-weight: bold;">head</span>:<br /><br /><span style="color: rgb(153, 153, 153);font-size:85%;" >&lt;style type="text/css"&gt;<br />&lt;!--<br />#fondo {<br />background-image:url(<span style="font-weight: bold;">logoGDE.png</span>)<br />}<br /><span style="color: rgb(204, 102, 0);">* html</span> #fondo {background-image:none;<br />filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<span style="font-weight: bold;">logoGDE.png</span>', sizingMethod='crop')<br />background:;<br />}<br /><br />--&gt;<br />&lt;/style&gt;</span><br /><br /><span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(204, 102, 0);">* html</span> Esto hace que se ponga un fondo para unos navegadores y ese mismo con un filtro al IE<br /><span style="color: rgb(0, 0, 0);"><br />Hay que cambiar </span><span style="color: rgb(0, 0, 0);font-size:85%;" ><span style="font-weight: bold;">logoGDE.png</span> por la imagen de fondo que vamos a usar</span><br /><br />En la tabla se pone <b>id="fondo"</b> yo lo puse en una tabla, si se pone en la etiqueta &lt;table&gt; y la tabla tiene bordes sobrepondra la imagen a los bordes, si se pone en el &lt;td&gt; no.<br /><br /><b>Probado en: </b><span style="font-size:78%;"><img src="http://image.versiontracker.com/client_icons/org.mozilla.firefox-icon-32x32-8bit.gif" alt="" align="absmiddle" border="0" /> </span><span style="color: rgb(153, 153, 153);font-size:78%;" >Firefox 1.5 </span><span style="font-size:78%;"> <img src="http://images.google.com.mx/images?q=tbn:KF5bT54bzosggM:https://online1.tu-graz.ac.at/prod/img/opera.gif" alt="" align="absmiddle" border="0" /> </span><span style="font-size:78%;"><span style="color: rgb(153, 153, 153);">Opera 8.54 </span> <img src="http://images.google.com.mx/images?q=tbn:OzNz_ktheHd42M:www.error500.net/images/articulos/explorer.gif" alt="" align="absmiddle" border="0" /> <span style="color: rgb(153, 153, 153);">IE 6</span></span><br /><br />De esto se puede ver un ejemplo en <a href="http://www.cristovivo.com/prueba.html" class="externa" target="_blank">www.cristovivo.com/prueba.html</a> que a lo mejor no es la mas estetica pero muestra lo anterior<br /><br />Espero les sirva ademas de que tambien espero sus comentarios al respecto, esta es una de las grandes preguntas que siempre rondan en los foros.</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25208438-115099505583649594?l=blog.creandowebs.com%2Findex.htm'/></div>JAMnoreply@blogger.com8tag:blogger.com,1999:blog-25208438.post-1150993795704966732006-06-22T11:13:00.001-05:002008-09-29T11:49:49.134-05:00Agregar contador gratuito en websHe creado un simple contador de visitas para agregar a cualquier pagina web de manera facil y configurable, dicho contador podra ir evolucionando en mejoras, esta es la version 1 asi que puede que mas adelante saque mas versiones con mas funciones y caracteristicas ademas de diseños, un ejemplo del contador es como el mostrado en mi blog, del lado derecho apenas arriba del logo del blog.<span class="fullpost"><br /><br />Para agregar este contador a cualquier sitio solo hay que agregar una pequeña linea de javascript y configurar algunas cosas, es facil y rapido, aqui una descripcion:<br /><br />Script a agregar:<br />&lt;script src="http://www.creandowebs.com/contador.asp?user=<span style="font-weight: bold;">paginaweb.com</span>&<br />tv=<span style="font-weight: bold;">Visitante</span>&fn=<span style="font-weight: bold;">Arial,Verdana</span>&sz=<span style="font-weight: bold;">11</span>&bd=<span style="font-weight: bold;">yes</span>&c=<span style="font-weight: bold;">000099</span>">&lt;/script><br /><br /><span style="font-style: italic;">(Nota todo va en una sola linea, se corta por espacio)</span><br /><br />donde configuraremos lo que esta marcado en negritas.<br />user=<span style="font-weight: bold;">paginaweb.com</span> por la pagina donde estara el contador, es importante cambiar esto para poder tener un contador unico para cada sitio.<br /><br />tv=<span style="font-weight: bold;">Visitante</span> es el texto que aparecera justo antes de la cantidad de visitas, ejemplo:<br />Visitante 0202<br /><br />fn=<span style="font-weight: bold;">Arial,Verdana</span> es la(s) fuente(s) a utilizar.<br />algunas opciones: pueden ser tahoma, Trebuchet MS o cualquiera que uses en tu sitio<br /><br />sz=<span style="font-weight: bold;">11</span> es el tamaño de la fuente en pixeles, el tamaño 11 equivale a mas o menos al tamaño 2<br />Opciones: numero valido para el tamaño deseado de fuente<br /><br />bd=<span style="font-weight: bold;">yes</span> si es yes el texto aparecera en negritas, si no quieres esto cambialo por no<br />Opciones: yes (fuente en negritas) no (fuente normal)<br /><br />c=<span style="font-weight: bold;">000099</span> es el color del texto en valor hexadecimal<br />Algunas colores:<br />Blanco=ffffff<br />Negro=000000<br />Azul=0000ff<br />Rojo=ff0000<br />Verde=00ff00<br /><br />Esto es todo, el script debe pegarse en la parte donde queramos que aparezca el contador, les informo que el contador esta programado para contar visitas usando sesiones, esto lo que ocaciona es que sean visitas reales, es decir, si alguien se hagarra haciendo clicks o recargando la pagina solo se generara una visita (si el usuario tiene activas las cookies por que las sessiones usan esto).</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/25208438-115099379570496673?l=blog.creandowebs.com%2Findex.htm'/></div>JAMnoreply@blogger.com16