Categoría "D"
Aunque no se hizo un sitio enteramente en Flash, algunos componentes pueden producirse dentro de la página, tales como banderas, reclamo, los espectadores RSS, eco, etc ... entonces de una manera sencilla de comprobar si Flash está instalado y activo. Aquí se propone un método que no necesita más páginas, igual a lo propuesto por Adobe. Nuestro objetivo es resolver todo en una sola página.
La clase que aquí se presenta permite resolver el último problema también nacen con Explorer, o la activación de un control ActiveX. Para solucionar simplemente el uso de JavaScript para insertar el componente de Flash, justo lo que hace que nuestra clase.
Lo primero que necesitamos es una clase de JavaScript agradable que nos permite realizar todos los controles necesarios:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| <! - / * Detectar Flash ** Clase y Objeto Ruta insertFlash ** * /
{ var df = { , __release: "1.0", navigator. appVersion . indexOf ( "MSIE" ) != - 1 ) ? true : false ) , _isIE: ((appVersion navigator. indexOf ("MSIE") = - 1) verdad:.! falsa?) navigator. appVersion . toLowerCase ( ) . indexOf ( "win" ) != - 1 ) ? true : false ) , _isWin: (.. (appVersion navigator. toLowerCase () indexOf ("victoria") = - 1) verdad: falso?) navigator. userAgent . indexOf ( "Opera" ) != - 1 ) ? true : false ) , _isOpera: (.? (navigator. userAgent indexOf ("Opera") = - 1) verdad: falso)
( i ) { getSwfVer: function (i) { / / Las versiones de NS / Opera a partir de 3 comprobar la presencia del plug-in Flash serie de plug-in navigator. plugins != null && navigator. plugins . length > 0 ) { if (plug-ins del navegador. navegador! = null &&. plugins. de longitud> 0) { navigator. plugins [ "Shockwave Flash 2.0" ] || navigator. plugins [ "Shockwave Flash" ] ) { if (navigator. plugins ["Shockwave Flash 2.0"] | |. navegador de plugins ["Shockwave Flash"]) { navigator. plugins [ "Shockwave Flash 2.0" ] ? " 2.0" : "" ; var = swVer2 navegador de plugins ["Shockwave 2.0 Flash"] "2.0".? ""; navigator. plugins [ "Shockwave Flash" + swVer2 ] . description ; var = navegador flashDescription plugins ["Shockwave Flash" + swVer2] descripción..; flashDescription. split ( " " ) ; . var = descArray flashDescription split (""); descArray [ 2 ] . split ( "." ) ; . var = tempArrayMajor descArray [2] split ("."); tempArrayMajor [ 0 ] ; var VersionMajor tempArrayMajor = [0]; tempArrayMajor [ 1 ] ; VersionMinor tempArrayMajor var = [1]; descArray [ 3 ] != "" ) var tempArrayMinor = descArray [ 3 ] . split ( "r" ) ; if (descArray [3] = "") var = tempArrayMinor descArray [3] de división. ("r"); tempArrayMinor = descArray [ 4 ] . split ( "r" ) ; otra var = tempArrayMinor descArray [4] split ("r").; / / tempArrayMinor [ 1 ] > 0 ? tempArrayMinor [ 1 ] : 0 ; versionRevision tempArrayMinor var = [1]> 0 tempArrayMinor [1]: 0; versionMajor + "." + versionMinor + "." + versionRevision ; var = flashVer VersionMajor VersionMinor + + + + versionRevision "." "."; var flashVer = - 1 ; FlashVer} else var = - 1; } navigator. userAgent . toLowerCase ( ) . indexOf ( "webtv/2.6" ) != - 1 ) flashVer = 4 ; else if (userAgent navegador .. toLowerCase () indexOf ("webtv/2.6") = - 1.!) flashVer = 4; navigator. userAgent . toLowerCase ( ) . indexOf ( "webtv/2.5" ) != - 1 ) flashVer = 3 ; else if (userAgent navegador .. toLowerCase () indexOf ("webtv/2.5") = - 1.!) flashVer = 3; navigator. userAgent . toLowerCase ( ) . indexOf ( "webtv" ) != - 1 ) flashVer = 2 ; else if (userAgent navegador .. toLowerCase () indexOf ("tv") = - 1.!) flashVer = 2; 1 ; otra flashVer = - 1; / / flashVer regresar; },
( reqMajorVer , reqMinorVer , reqRevision ) { detectFlashVer: function (reqMajorVer, reqMinorVer, reqRevision) { parseFloat ( reqMajorVer + "." + reqRevision ) ; reqVer var = parseFloat (reqMajorVer reqRevision + + "."); var i = 25 ; i > 0 ; i -- ) { for (var i = 25; i> 0, i -) { this ._isIE && this ._isWin && ! this ._isOpera ) var versionStr = VBgetSwfVer ( i ) ; if (this. && _isIE esta && _isWin este _isOpera.!.) = var versionStr VBgetSwfVer (s); versionStr = this . getSwfVer ( i ) ; otra var = esta versionStr getSwfVer (i).; versionStr == - 1 ) return false ; if (versionStr == - 1) return false; versionStr != 0 ) { else if (versionStr! = 0) { this ._isIE && this ._isWin && ! this ._isOpera ) { if (this. &&. && _isIE este _isWin! este _isOpera.) { versionStr. split ( " " ) ; . var = tempArray versionStr split (""); tempArray [ 1 ] ; tempString tempArray var = [1]; tempString . split ( "," ) ; . var = versionArray tempString split (""); var versionArray = versionStr. split ( "." ) ; . Var =} else versionArray versionStr Split ("."); / / versionArray [ 0 ] ; var VersionMajor versionArray = [0]; versionArray [ 1 ] ; VersionMinor versionArray var = [1]; versionArray [ 2 ] ; var = versionRevision versionArray [2];
versionMajor + "." + versionRevision ; // 7.0r24 == 7.24 var = versionString VersionMajor + "." versionRevision + / / == 7,24 7.0r24 parseFloat ( versionString ) ; var versionNum = parseFloat (versionString); / / Es la versión principal> = versión principal se pidió la versión menor> = solicitado versión menor versionMajor > reqMajorVer ) && ( versionNum >= reqVer ) ) return true ; if ((VersionMajor> reqMajorVer) && (versionNum> = reqVer)) return true; versionNum >= reqVer && versionMinor >= reqMinorVer ) ? true : false ) ; else return:; (versionNum (> = reqVer VersionMinor &&> = reqMinorVer) verdadero falso?) } } reqVer ? false : 0.0 ) ; retorno (reqVer falsa: 0,0); },
/ / HACER ( n , w , h ) { insertFlash: function (n, w, h) { this . detectFlashVer ( 8 , 0 , 0 ) ) { si (this. detectFlashVer (8, 0, 0)) { ; n + = "swf."; '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,29,0" width="' + w + '" height="' + h + '"> \n ' ) ; documento de write ('<objeto classid = "clsid: D27CDB6E-AE6D-11cf-96B8-444553540000". codebase = "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab # version = 7 , 0,29,0 "width =" '+ w +' "height =" '+ h +' "> \ n '); '<param name="movie" value="' + n + '" /> \n ' ) ; . documento de write ('+ n + <param name="movie" value="''" /> \ n'); '<param name="quality" value="auto" /> \n ' ) ; documento de write ('<param name="quality" value="auto" /> \ n').; '<embed src="' + n + '" width="' + w + '" height="' + h + '" quality="auto" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed> \n ' ) ; documento. write ('<embed src = "' + n +" "width =" '+ w +' "height =" '+ h +' "quality =" auto "pluginspage =" http://www.macromedia. com / go / getflashplayer "type =" application / x-shockwave-flash "> </ embed> \ n '); '</object> \n ' ) ; . documento de write ('</ object> \ n'); document. write ( '<a id="flash_alternate" target="_blank" href="http://www.adobe.com/go/getflashplayer"></a>' ) ; Else} documento de Write ('<a target="_blank" id="flash_alternate" href="http://www.adobe.com/go/getflashplayer"> </ a>.'); } };
/ / -> |
Como de costumbre, Internet Explorer (7) es diferente y tiene un código especialmente estructurado en VBScript:
[Visual Basic]
[/ Vb]
Guarde estos dos archivos (y df.js df.vbs carpeta js) y includiamoli en nuestra página (index.html, index.php o default.html, etc ...) dentro de la etiqueta HEAD.
1 2
| "javascript1.2" type = "text/javascript" src = "js/df.js" >< / script > < script de language = "JavaScript1.2" type = "text / javascript" src = "js / df.js"> </ script de > "VBScript" type = "text/vbscript" src = "js/df.vbs" >< / script > < script de language = "VBScript" type = "text / vbscript" src = "js / df.vbs"> </ script de > |
Ahora tenemos todo lo necesario y podemos pasar a la página que contiene el objeto de Flash Player. Encontrar el punto de que el flash en la pantalla y escriba el siguiente código:
Aquí hemos supuesto que hay un archivo de carpetas splash.swf flash! Tenga en cuenta que es necesario insertar el archivo SWF. Los dos números 900 y 122 son las dimensiones.
Aún mejor sería apoyar el caso - a distancia - que JavaScript no está habilitado. En este caso puede optar por proceder de dos maneras:
1. Inseire código directamente en el objeto / embed
2. Notificar que JavaScript no está habilitado
En el primer caso, perdemos el control sobre la presencia de Flash y Explorer le preguntará si desea activar el control ActiveX. Sin embargo, la película será visible si Flash está instalado.
En el segundo caso podemos mostrar una imagen y / o con JavaScript desactivado notoficare que no es posible verificar la presencia de Adobe Flash plug-in. Por ejemplo, la elección del número 1 solución:
1 2 3 4 5 6 7 8 9 10
| "claim" > < div id = "alegación"> < noscript > "movie" value = "flash/splash.swf" / > < param name = "movie" value = "flash / splash.swf" /> "quality" value = "high" / > < param name = "calidad" value = "high" /> </ objetos > </ noscript > </ div > |
La detección de Flash y administrar varias alternativas, como se explica en la detección del flash: cómo detectar flash , no es muy cómodo, por lo menos esperamos que no se deteriora con el tiempo.
Más información ...
La escritura de código dentro de una página HTML de forma dinámica es posible y útil. predisposto ad accettare codice inserito tramite innerHTML . La forma más directa es utilizar y conocido documenti.write() o un contenedor DIV preparado para aceptar el código insertado a través de innerHTML . Alternativamente, usted puede conectar a una etiqueta existente y utilizar el DOM para añadir o eliminar elementos en la página. Por ejemplo immmaginiamo desea cargar un archivo nuevo sin necesidad de utilizar secuencias de comandos del lado del servidor Javascript y vuelva a cargar la página. Las siguientes funciones, por ejemplo, añade un archivo JavaScript en su página como un parámetro (incluyendo la ruta).
1 2 3 4 5 6
| s ) { función de addScripting (s) { document. createElement ( 'script' ) ; scriptNode var = documento createElement ('script').; "head" ) [ 0 ] . appendChild ( scriptNode ) ; documento de getElementsByTagName ("cabeza") [0] appendChild (scriptNode)..; 'javascript' ; . scriptNode language = "javascript"; s ; scriptNode src = s.; } |
Del mismo modo se puede añadir una hoja de estilo a nuestra página, indicado por la variable cssfile :
1 2 3 4 5
| document. createElement ( 'link' ) ; cssNode var = documento createElement ('link').; 'rel' , 'stylesheet' ) ; . cssNode setAttribute ('rel', 'estilo'); 'type' , 'text/css' ) ; . cssNode setAttribute ('tipo', 'text / css "); 'href' , cssfile ) ; . cssNode setAttribute ('href', cssFile); 'head' ) [ 0 ] . appendChild ( cssNode ) ; documento de getElementsByTagName ('cabeza') [0] appendChild (cssNode)..; |
Más información ...
¿Cómo se puede determinar si un navegador tiene la versión correcta del plugin de Flash? Para ello existe - notablemente - 5 técnicas:
- Confiar en uno mismo-funcionamiento de la función de la etiqueta object y embed
- El uso de un script (JavaScript y / o VBScript) específicamente previstos por Adobe
- Use un artilugio con una sola película de Flash
- No hacer nada

- Permitir al usuario elegir
Más información ...
¿Cuántos desarrolladores web saben, antes de la llegada del objeto XMLHttpRequest, el problema de la recarga de una página Web se resolvió con la técnica del marco oculto o IFRAME. Este truco sencillo para muchos años se les permite resolver algunos problemas de otro modo insolubles de la interfaz. Una de las ventajas en el uso de frame oculto, entre otras cosas, fue la posibilidad de mantener el historial del navegador! Lo que no permite que el objeto XMLHttpRequest.
Además de las técnicas que utilizan HTML FRAME o IFRAME oculto, es posible el uso de Flash como un sub-canal de comunicación entre la página y el servidor. Se valorará la experiencia en esta dirección se encuentran actualmente en fase de desarrollo (véase, por ejemplo Fjax ). La idea es "ocultar" una película Flash en la página HTML (como sucedió con el marco) y comunicarse con él a través de JavaScript (o VBScript de Microsoft sólo medio ambiente).
Sin embargo, esta técnica una serie de trampas ocultas. En primer lugar de todas las fuerzas que el usuario final para instalar el plugin de flash, y por lo tanto no representa una solución HTML (puro) limpio. También se requiere, sin embargo, se le solicite el uso de Javascript y Flash como interfaz entre la página, por lo tanto vale la pena utilizar el objeto XMLHttpRequest. Entonces, cuando usted comienza a escribir un marco en ActionScript quieren hacer todo en Flash. Esta es la variante que el objeto XMLHttpRequest empieza a hacer sentido.
En última instancia, si no desea utilizar el objeto XMLHttpRequest, debemos confiar en la técnica ya establecida de frame oculto. Hay incluso los que utilizan sólo una técnica mixta: XMLHttpRequest + IFRAME!
Sin embargo, ahora, el Ajax (en forma de objeto XMLHttpRequest) ha tenido tanto éxito que en el futuro el objeto XMLHttpRequest que será apoyado por la mejora de los proveedores de navegadores (Microsoft, Mozilla, Opera, etc ...). En la práctica, XMLHttpRequest será un componente por defecto (como ya sucede en Firefox) dentro de su navegador, accesible a través de Javascript! ¿Por qué no usarlo?
Más información ...
En Ajaxan.com apareció un interesante artículo sobre la experiencia de Londres, muy agradable. Protopage es un pequeño sistema operativo dedicado a compartir. El motor del medio ambiente está bien escrito y la interfaz es muy fácil de usar. Este es sin duda un buen ejemplo de cómo la Web está evolucionando. Sin embargo todavía hay dificultades de compatibilidad, véase, por ejemplo Explorer 7, pero el camino parece estar lleno de sorpresas.
Más información ...
El blog de IE7 se publicó un artículo ( IE6 e IE7 se ejecuta en una sola máquina ) que podrían mejorar las noches en vela de muchos desarrolladores de Web! Microsoft se ha dado cuenta (por suerte) de que el advenimiento del Internet Explorer 7, ya que, de hecho, el abandono de la versión anterior 6. De hecho, no es posible combinar ambos navegadores en la misma máquina. Para los usuarios finales no se trata de un problema, pero para los desarrolladores web que desean mantener la compatibilidad con la versión 6 es un verdadero desastre. La solución propuesta para el blog de varios otros, es utilizar una máquina virtual como VMWare o Virtual PC de Microsoft setssa.
La indicación se va a instalar en la máquina real la última versión principal del navegador, la versión 7. A continuación, adquirir un jugador o un software de virtualización para correr bien en este entorno virtual separado de la antigua versión 6 de Explorer.
NOTA:
Microsoft también proporciona un archivo con una ya virtualizado, que puede descargarse en:
http://go.microsoft.com/fwlink/?LinkId=70868
Esto se traduce en un archivo .vhd archivo, no pueden utilizarse con VMware. Además, ¿quién es dueño de un Windows XP Home - a ver - no puede utilizar Virtual PC 2004 de Microsoft que requiere al menos Windows XP Professional (en el sitio se puede encontrar esta muy mal!).
Sin embargo, si para ser un tonto de abril, 1 de abril de 2007, esta máquina virtual ya no es utilizable! El Blog Sin embargo, se hizo hincapié en que el equipo de desarrollo espera lanzar todas las actualizaciones futuras de estas máquinas virtuales pre-empacados.
La moral, sin embargo, esta solución es aproximada y no cumple con todas las de verdad! En caso de ser permitido el uso de VMWare y luego se libera una máquina virtual compatible con este software, claramente competir con Virtual PC 2004 - Microsoft lanzó recientemente libre
- O travare una manera de convertir el archivo de archivos VHD de Microsoft en un aceptable VMWare.. Si usted tiene alguna sugerencia ...
Más información ...
Conitnua de sorprender la diferencia total en el rendimiento entre los diferentes navegadores en el mercado. IE7 es el PNG (8-bits o 24) tan diferente a Firefox. Incluso Opera no está libre de algún suceso extraño. En particular, el PNG utiliza como fondo de pantalla se hacen diferente a Internet Explorer 7, Opera y Firefox. Esto es lo que lleva a cabo lo mejor de todo y en este sentido es el momento de nombrar navegador "del siglo"! Felicitaciones al equipo de desarrollo.
Internet Explorer 7 crea un bonito efecto de la cizalladura en una imagen PNG utiliza como fondo en repeat-x. Si intenta crear una imagen de 200 × 200 píxeles con un degradado de negro (0 × 000000) y gris (0xEEEEEE) vertical y se coloca en el cuerpo en la CSS como una repetición orizzonale fondo (repeat-x), estableciendo el fondo de color de la carrocería 0xEEEEEE - es decir, el final de la pendiente, te darás cuenta de que sólo Firefox hace que sea perfecto desapego, IE7 y Opera muestran un efecto de corte bonito (pero un poco diferente!): en la práctica vemos que el final de nuestra imagen de 200 x 200 y el comienzo de los antecedentes de la placa de color.
Una forma de resolver este problema es salvar nuestra imagen a GIF ...
Sin embargo, los puntos de contacto no fueron apoyadas por Internet Explorer 7?
Más información ...
Ajax, para algunos, fue una revolución. stessi nascosti). Para algunos programadores "navegado" era sólo una forma diferente de hacer lo que se logró por primera vez mediante el uso de la etiqueta HTML IFRAME (o FRAME misma oculto). Es evidente que son todos los derechos. Ajax fue una revolución porque sucedió en un momento determinado, donde la propagación de la gran banda y la madurez de la Web (Web 2.0?) Han permitido un enfoque completamente diferente que en el pasado.
La proliferación de aplicaciones Web por parte de grupos grandes como Microsoft, Yahoo, Google y los demás, muestra cuánto se está invirtiendo en este nuevo enfoque. El futuro - un futuro próximo - Ajax es tan brillante y llena de giros nuevos.
El navegador y las secuencias de comandos del servidor (como PHP) pueden dar la ayuda a esta nueva forma de ver la Web y sus recursos! Applick.com hay una clara demostración!
Más información ...
En Redmond deben tener algún problema grande en la captación! Es maravillosamente absurdo que a finales de 2006, siguen siendo la base de una - y - la compatibilidad aproximada entre IE7 y Firefox! A pesar de la versión oficial - aunque con un número limitado de lugares - 7 de Internet Explorer, el motor de renderizado de la página aún adolece de defectos de programación obvio! Sin entrar en muchos detalles evitado lista de sólo dos errores de alto perfil siguen presentes en el lanzamiento oficial!
En primer lugar todos los NPCs se hacen de manera diferente de GIF ... y, peor aún, en la posición absoluta de someterse a extraños contornos, dependiendo de la forma en que se ejecuta en IE! Error obvio? O la locura de algún programador junior?
En la clase CSS seudo: hover todavía no está soportado en todos los TAG, aunque muchos dan por el funcionamiento blog! Pero, ¿qué sistema? Ver W3C ...
Una página muy simple: el último niño es prácticamente ignorado! Microsoft ha apoyado con razón p: first-child. Ahora bien, si se implementa la primera cosa que le cuesta poner en práctica, incluso pasado? Misterio ...
El ápice de lo absurdo, a continuación, se obtiene con listas con viñetas! Oye oye! Internet Explorer 7 se comporta exactamente como IE6! De la serie: que ha traído consigo el código defectuoso? Demasiado muchas copias y pegar, por supuesto! Si Definitie una lista con los cánones y una imagen personalizada como UL LI lista de puntos, no trate de utilizar un elemento de flotación LI, la imagen desaparece misteriosamente, tal como lo hicieron en IE6! El uno, ni que decir, hacer las cosas bien es la costumbre - edad - FireFox!
Blog de IE7 se suman numerosas denuncias. A pesar de que apreciaba los esfuerzos del gigante Microsoft para empezar un blog durante el desarrollo de un software como Internet Explorer 7, sin embargo, permanece la cuestión de la eficacia de esta medida. Realmente escuchó las peticiones de los usuarios de los desarrolladores? El blog se ha abierto con IE7 demasiado tarde?
Una vez más tenemos que esperar para una aventura de Service Pack que viene ...
Más información ...
Después de la adquisición de Macromedia, Adobe crea sus laboratorios , laboratorios de desarrollo! Basándose en el éxito de Microsoft con su Internet Explorer 7 Blog - que se ha (y tiene) que se ahorra una gran cantidad de servicios de paquete - Adobe también adoptó la técnica de la versión beta. De hecho, él era ahora, en lugar de esperar a que el tiempo ahora mucho tiempo para desarrollar un software (ya sea la tradición, es una aplicación Web) ¿Por qué no proponemos que la versión todavía en desarrollo? De esta manera existe una retroalimentación en tiempo real sobre la calidad real del software que están desarrollando.
Sin embargo, con toda honestidad, el software debe haouse abajo un poco de "precios de su software, ya que la beta - usted paga o se pagan - lo que hacemos los usuarios!
Con Adobe Soundbooth beta sobrescribe el conocido SoundEdit. Adobe Photoshop Lightroom es un nuevo producto dirigido a fotógrafos profesionales, con una gran cantidad de demostraciones de vídeo en línea. Flash 9 con ActioneScript 3 aparece también en la versión alfa para descargar! Aunque se indica vista previa! Para encontrar el móvil de Flash Lite 2.1 Update autoría , pero parece que una versión final en vez de anticipación. Aparte de esta miscelánea pequeña de la beta, alfa y de actualización creen que la iniciativa es buena, si no excelente.
Así que para los curiosos que quieren por delante y no esperar a probar una nueva versión del software, Adobe Labs es un lugar de diversión segura! Insisto una vez más la tendencia de involucrar a los usuarios finales de las etapas de desarrollo, una tendencia que debe su propagación a la generación Web 2.0. Lo más probable es que será un modo en el futuro cercano se extenderá como la pólvora siempre que sea posible. Usted podría intentar un'appartamente un'autombile o antes de que se libera, por ejemplo ...
Más información ...
Últimos Comentarios
Giovambattista Fazioli : @ Nik: Estoy feliz! Buena suerte entonces!
Nik : Yo he Lunes examinar la información sobre Java, gracias a mí ha sido muy útil, el libro que estaba claro ...
Marcos : Muchas gracias, he encendido
Lo resuelto mediante el establecimiento de [cc_objc] / / OptionViewController.m - ...
Giovambattista Fazioli : @ Marcos: Le sugiero que pensar en un enfoque más correcto. Si ejecuta la subclase de la ficha ...
luis : muy clara y sencilla tengo que admitir que escribir un pa casi no utilizan los delegados creados por ...