<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title></title>
	<atom:link href="https://lineadecodigo.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://lineadecodigo.com</link>
	<description>Aprender a Programar</description>
	<lastBuildDate>Fri, 06 Nov 2026 07:29:56 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>

<image>
	<url>https://lineadecodigo.com/wp-content/uploads/2016/07/cropped-Logo2-768x768-32x32.jpg</url>
	<title>L�nea de C�digo</title>
	<link>https://lineadecodigo.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>La riviera casino : que prouve une capture d’écran du lobby sur la disponibilité des jeux&#160;?</title>
		<link>https://lineadecodigo.com/blog/la-riviera-casino-que-prouve-une-capture-decran-du-lobby-sur-la-disponibilite-des-jeux/</link>
					<comments>https://lineadecodigo.com/blog/la-riviera-casino-que-prouve-une-capture-decran-du-lobby-sur-la-disponibilite-des-jeux/#respond</comments>
		
		<dc:creator><![CDATA[carlos]]></dc:creator>
		<pubDate>Fri, 06 Nov 2026 07:29:56 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://lineadecodigo.com/blog/la-riviera-casino-que-prouve-une-capture-decran-du-lobby-sur-la-disponibilite-des-jeux/</guid>

					<description><![CDATA[<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/blog/la-riviera-casino-que-prouve-une-capture-decran-du-lobby-sur-la-disponibilite-des-jeux/">La riviera casino : que prouve une capture d’écran du lobby sur la disponibilité des jeux&nbsp;?</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/blog/la-riviera-casino-que-prouve-une-capture-decran-du-lobby-sur-la-disponibilite-des-jeux/">La riviera casino : que prouve une capture d’écran du lobby sur la disponibilité des jeux&nbsp;?</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lineadecodigo.com/blog/la-riviera-casino-que-prouve-une-capture-decran-du-lobby-sur-la-disponibilite-des-jeux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Julius casino : règles, limites et parcours complet du joueur</title>
		<link>https://lineadecodigo.com/blog/julius-casino-regles-limites-et-parcours-complet-du-joueur/</link>
					<comments>https://lineadecodigo.com/blog/julius-casino-regles-limites-et-parcours-complet-du-joueur/#respond</comments>
		
		<dc:creator><![CDATA[carlos]]></dc:creator>
		<pubDate>Wed, 04 Nov 2026 00:13:33 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://lineadecodigo.com/blog/julius-casino-regles-limites-et-parcours-complet-du-joueur/</guid>

					<description><![CDATA[<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/blog/julius-casino-regles-limites-et-parcours-complet-du-joueur/">Julius casino : règles, limites et parcours complet du joueur</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/blog/julius-casino-regles-limites-et-parcours-complet-du-joueur/">Julius casino : règles, limites et parcours complet du joueur</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lineadecodigo.com/blog/julius-casino-regles-limites-et-parcours-complet-du-joueur/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Le Roi Johnny : reconstruire l’ordre d’un tour réglé entre crédits et euros</title>
		<link>https://lineadecodigo.com/blog/le-roi-johnny-reconstruire-lordre-dun-tour-regle-entre-credits-et-euros/</link>
					<comments>https://lineadecodigo.com/blog/le-roi-johnny-reconstruire-lordre-dun-tour-regle-entre-credits-et-euros/#respond</comments>
		
		<dc:creator><![CDATA[carlos]]></dc:creator>
		<pubDate>Mon, 02 Nov 2026 15:22:33 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://lineadecodigo.com/blog/le-roi-johnny-reconstruire-lordre-dun-tour-regle-entre-credits-et-euros/</guid>

					<description><![CDATA[<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/blog/le-roi-johnny-reconstruire-lordre-dun-tour-regle-entre-credits-et-euros/">Le Roi Johnny : reconstruire l’ordre d’un tour réglé entre crédits et euros</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/blog/le-roi-johnny-reconstruire-lordre-dun-tour-regle-entre-credits-et-euros/">Le Roi Johnny : reconstruire l’ordre d’un tour réglé entre crédits et euros</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lineadecodigo.com/blog/le-roi-johnny-reconstruire-lordre-dun-tour-regle-entre-credits-et-euros/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>service_publish_probe_c89c093a5f5cc4d3</title>
		<link>https://lineadecodigo.com/blog/service_publish_probe_c89c093a5f5cc4d3/</link>
					<comments>https://lineadecodigo.com/blog/service_publish_probe_c89c093a5f5cc4d3/#respond</comments>
		
		<dc:creator><![CDATA[carlos]]></dc:creator>
		<pubDate>Sun, 01 Nov 2026 17:44:13 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://lineadecodigo.com/blog/service_publish_probe_c89c093a5f5cc4d3/</guid>

					<description><![CDATA[<p>probe</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/blog/service_publish_probe_c89c093a5f5cc4d3/">service_publish_probe_c89c093a5f5cc4d3</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>probe</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/blog/service_publish_probe_c89c093a5f5cc4d3/">service_publish_probe_c89c093a5f5cc4d3</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lineadecodigo.com/blog/service_publish_probe_c89c093a5f5cc4d3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>service_publish_probe_68b0b942c9afe8f5</title>
		<link>https://lineadecodigo.com/blog/service_publish_probe_68b0b942c9afe8f5/</link>
					<comments>https://lineadecodigo.com/blog/service_publish_probe_68b0b942c9afe8f5/#respond</comments>
		
		<dc:creator><![CDATA[carlos]]></dc:creator>
		<pubDate>Sun, 01 Nov 2026 10:16:36 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://lineadecodigo.com/blog/service_publish_probe_68b0b942c9afe8f5/</guid>

					<description><![CDATA[<p>probe</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/blog/service_publish_probe_68b0b942c9afe8f5/">service_publish_probe_68b0b942c9afe8f5</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>probe</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/blog/service_publish_probe_68b0b942c9afe8f5/">service_publish_probe_68b0b942c9afe8f5</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lineadecodigo.com/blog/service_publish_probe_68b0b942c9afe8f5/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Spotify Review 2026</title>
		<link>https://lineadecodigo.com/blog/spotify-review-2026/</link>
					<comments>https://lineadecodigo.com/blog/spotify-review-2026/#respond</comments>
		
		<dc:creator><![CDATA[carlos]]></dc:creator>
		<pubDate>Thu, 29 Oct 2026 16:27:26 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">https://lineadecodigo.com/blog/spotify-review-2026/</guid>

					<description><![CDATA[<p>Spotify is still the streaming service most people start with, and in 2026 it remains one of the most complete. The catalogue covers well over a hundred million tracks, plus podcasts and audiobooks, and the app looks and works the same on a phone, a laptop, a TV or a smart speaker. What works well [&#8230;]</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/blog/spotify-review-2026/">Spotify Review 2026</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.spotify.com/" target="_blank" rel="noopener">Spotify</a> is still the streaming service most people start with, and in 2026 it remains one of the most complete. The catalogue covers well over a hundred million tracks, plus podcasts and audiobooks, and the app looks and works the same on a phone, a laptop, a TV or a smart speaker.</p>
<h2>What works well</h2>
<p>Recommendations are the strongest part. The weekly discovery mixes and daily playlists learn from what you save and skip, and after a couple of weeks they get noticeably better. Collaborative playlists are handy for trips and parties, and switching playback between devices takes one tap.</p>
<h2>What could be better</h2>
<p>The free plan has adverts and limited skips on mobile, and audio quality on the basic tiers is good rather than outstanding. Prices have also crept up over the last few years, so the family and duo plans are the better value.</p>
<h2>Verdict</h2>
<p>For most listeners Spotify is an easy choice: a huge library, smart recommendations and apps that just work. Try the free plan first and upgrade if the adverts get in the way.</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/blog/spotify-review-2026/">Spotify Review 2026</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lineadecodigo.com/blog/spotify-review-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Vídeo en bucle</title>
		<link>https://lineadecodigo.com/html5/video-en-bucle/</link>
					<comments>https://lineadecodigo.com/html5/video-en-bucle/#respond</comments>
		
		<dc:creator><![CDATA[Víctor Cuervo]]></dc:creator>
		<pubDate>Wed, 23 Apr 2025 19:00:00 +0000</pubDate>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 Video]]></category>
		<guid isPermaLink="false">https://lineadecodigo.com/?p=17980</guid>

					<description><![CDATA[<img width="150" height="150" src="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png" class="webfeedsFeaturedVisual wp-post-image" alt="Ejemplos de Artículos sobre HTML5" style="float: right; margin-left: 5px;" link_thumbnail="" decoding="async" srcset="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png 150w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-120x120.png 120w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-24x24.png 24w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-48x48.png 48w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-96x96.png 96w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5.png 300w" sizes="(max-width: 150px) 100vw, 150px" /><p>Un vídeo en bucle es aquel que, cuando llega al final del vídeo, vuelve al principio y se continúa reproduciendo de forma infinita, o hasta que el usuario lo pare o se salga de la página web. Vamos a utilizar código HTML5 para poder incrustar un vídeo dentro de nuestra página web y que este [&#8230;]</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/html5/video-en-bucle/">Vídeo en bucle</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<img width="150" height="150" src="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png" class="webfeedsFeaturedVisual wp-post-image" alt="Ejemplos de Artículos sobre HTML5" style="float: right; margin-left: 5px;" link_thumbnail="" decoding="async" srcset="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png 150w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-120x120.png 120w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-24x24.png 24w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-48x48.png 48w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-96x96.png 96w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5.png 300w" sizes="(max-width: 150px) 100vw, 150px" />
<p class="wp-block-paragraph">Un vídeo en bucle es aquel que, cuando llega al final del vídeo, vuelve al principio y se continúa reproduciendo de forma infinita, o hasta que el usuario lo pare o se salga de la página web.</p>



<p class="wp-block-paragraph">Vamos a utilizar <a href="https://lineadecodigo.com/categoria/html5/">código HTML5</a> para poder incrustar un vídeo dentro de nuestra página web y que este vídeo en bucle se reproduzca de forma infinita.</p>



<h3 class="wp-block-heading">Incluir un vídeo HTML5.</h3>



<p class="wp-block-paragraph">Lo primero que tenemos que hacer es insertar un vídeo <a href="https://www.manualweb.net/html5/" target="_blank" rel="noopener">HTML5</a>, para ello vamos a utilizar el elemento <a href="https://w3api.com/HTML/video/" target="_blank" rel="noopener"><code>video</code></a> que nos permite insertar los vídeos dentro de las páginas web.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;video>
  &lt;!-- Aquí va un vídeo -->
&lt;/video>
</pre>



<p class="wp-block-paragraph">Para indicar dónde se encuentra el vídeo y el formato que tiene, podríamos utilizar, junto con el elemento video, el elemento source. Además, el elemento source, nos permite indicar diferentes formatos de vídeos para conseguir que <a href="https://www.ayudaenlaweb.com/navegadores/que-es-un-navegador/" target="_blank" rel="noopener">el navegador web</a> reproduzca uno u otro.</p>



<p class="wp-block-paragraph">Pero, en este caso, vamos a utilizar una forma más sencilla y nos apoyaremos en el atributo <a href="https://www.w3api.com/HTML/video/src/" target="_blank" rel="noopener"><code>src</code></a> para indicar la <a href="https://www.ayudaenlaweb.com/internet-basico/que-es-la-url/" target="_blank" rel="noopener">URL</a> que contenga el vídeo.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;video src="url-con-el-video">
  &lt;!-- Aquí va un vídeo -->
&lt;/video>
</pre>



<h3 class="wp-block-heading">Atributo loop para bucles.</h3>



<p class="wp-block-paragraph">La parte más importante de este ejemplo para poder poner un vídeo en bucle es el manejo del atributo <a href="https://www.w3api.com/HTML/video/loop/" target="_blank" rel="noopener"><code>loop</code></a>, ya que el manejo de este atributo es el que nos va a proporcionar la capacidad de poder ver el vídeo en bucle.</p>



<p class="wp-block-paragraph">El atributo <a href="https://www.w3api.com/HTML/video/loop/" target="_blank" rel="noopener"><code>loop</code></a> es un atributo booleano, del elemento <a href="https://w3api.com/HTML/video/" target="_blank" rel="noopener"><code>video</code></a>, dentro de <a href="https://www.manualweb.net/html5/" target="_blank" rel="noopener">HTML5</a> por lo que si el atributo no está presente se le asignaría un valor de <code>false</code> y si está presente sería un valor de <code>true</code>.</p>



<p class="wp-block-paragraph">Por lo que si queremos reproducir un vídeo en bucle simplemente tendremos que añadir el atributo <a href="https://www.w3api.com/HTML/video/loop/" target="_blank" rel="noopener"><code>loop</code></a> en el elemento <a href="https://w3api.com/HTML/video/" target="_blank" rel="noopener"><code>video</code></a>.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;video src="url-con-el-video" loop>
  &lt;!-- Aquí va un vídeo -->
&lt;/video>
</pre>



<h3 class="wp-block-heading">Código HTML5 para poner un vídeo en bucle.</h3>



<p class="wp-block-paragraph">Así que simplemente tendremos que poner la <a href="https://www.ayudaenlaweb.com/internet-basico/que-es-la-url/" target="_blank" rel="noopener">URL</a> de un vídeo, en este caso en formato mp4. El código en HTML para poder poner un vídeo en bucle sería el siguiente:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;video id="video" src="tecla.mp4" controls loop>
  &lt;!-- El atributo loop hace que el vídeo se repita en bucle -->  
  Tu navegador no soporta el elemento &lt;code>video&lt;/code>.  
&lt;/video> 
</pre>



<p class="wp-block-paragraph">En este caso hemos añadido un atributo adicional que es <a href="https://www.w3api.com/HTML/video/controls/" target="_blank" rel="noopener"><code>controls</code></a> para poder ver los controles del vídeo.</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/html5/video-en-bucle/">Vídeo en bucle</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lineadecodigo.com/html5/video-en-bucle/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Descargar una imagen de un mapa de imágenes</title>
		<link>https://lineadecodigo.com/html5/descargar-una-imagen-de-un-mapa-de-imagenes/</link>
					<comments>https://lineadecodigo.com/html5/descargar-una-imagen-de-un-mapa-de-imagenes/#respond</comments>
		
		<dc:creator><![CDATA[Víctor Cuervo]]></dc:creator>
		<pubDate>Tue, 25 Feb 2025 14:00:00 +0000</pubDate>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 Imagen]]></category>
		<guid isPermaLink="false">https://lineadecodigo.com/?p=17955</guid>

					<description><![CDATA[<img width="150" height="150" src="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png" class="webfeedsFeaturedVisual wp-post-image" alt="Ejemplos de Artículos sobre HTML5" style="float: right; margin-left: 5px;" link_thumbnail="" decoding="async" srcset="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png 150w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-120x120.png 120w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-24x24.png 24w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-48x48.png 48w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-96x96.png 96w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5.png 300w" sizes="(max-width: 150px) 100vw, 150px" /><p>El uso del elemento area nos sirve para optimizar la carga y la visualización de imágenes, mostrando varias imágenes en una y generando áreas enlazables. En este artículo vamos a ver cómo podemos descargar una imagen de un mapa de imágenes utilizando código HTML5. Es decir, que cuando se pinche sobre un área enlazable, se [&#8230;]</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/html5/descargar-una-imagen-de-un-mapa-de-imagenes/">Descargar una imagen de un mapa de imágenes</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<img width="150" height="150" src="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png" class="webfeedsFeaturedVisual wp-post-image" alt="Ejemplos de Artículos sobre HTML5" style="float: right; margin-left: 5px;" link_thumbnail="" decoding="async" srcset="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png 150w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-120x120.png 120w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-24x24.png 24w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-48x48.png 48w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-96x96.png 96w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5.png 300w" sizes="(max-width: 150px) 100vw, 150px" />
<p class="wp-block-paragraph">El uso del elemento <a href="https://w3api.com/HTML/area/" target="_blank" rel="noopener"><code>area</code></a> nos sirve para optimizar la carga y la visualización de imágenes, mostrando varias imágenes en una y generando áreas enlazables. En este artículo vamos a ver cómo podemos descargar una imagen de un mapa de imágenes utilizando código HTML5. Es decir, que cuando se pinche sobre un área enlazable, se descargue la imagen asociada a dicho área.</p>



<h3 class="wp-block-heading">Caso de uso para descargar una imagen de un mapa de imágenes.</h3>



<p class="wp-block-paragraph">El poder descargar una imagen de un mapa de imágenes utilizando <a href="https://lineadecodigo.com/categoria/html5/">código HTML5</a> nos va a servir para crear galerías de imágenes que estén muy optimizadas, ya que descargamos una única imagen con todas las imágenes. Esto nos será útil para entornos en los que la descarga de elementos sea un hándicap, como puede ser el caso de uso de dispositivos móviles.</p>



<p class="wp-block-paragraph">Pero ahora lo que haremos será el poder descargar de forma individual cada una de esas imágenes una vez que el usuario pulse sobre una imagen en cuestión. Siendo este momento el único en el que realmente se descarga la imagen en concreto.</p>



<p class="wp-block-paragraph">De forma visual vamos a recurrir a un mapa de imágenes con los logos de los <a href="https://www.ayudaenlaweb.com/navegadores/que-es-un-navegador/" target="_blank" rel="noopener">navegadores web</a>. Esto representará la galería de imágenes:</p>



<figure class="wp-block-image size-full"><a href="https://lineadecodigo.com/wp-content/uploads/2025/02/area-con.navegadores.webp"><img decoding="async" width="821" height="152" src="https://lineadecodigo.com/wp-content/uploads/2025/02/area-con.navegadores.webp" alt="Imagen de ejemplo de una galería para descargar una imagen de un mapa de imágenes" class="wp-image-17958 img-fluid" srcset="https://lineadecodigo.com/wp-content/uploads/2025/02/area-con.navegadores.webp 821w, https://lineadecodigo.com/wp-content/uploads/2025/02/area-con.navegadores-300x56.webp 300w, https://lineadecodigo.com/wp-content/uploads/2025/02/area-con.navegadores-768x142.webp 768w" sizes="(max-width: 821px) 100vw, 821px" /></a></figure>



<p class="wp-block-paragraph">El funcionamiento será que cuando pulsemos sobre un logo en concreto, se descargará dicha imagen.</p>



<h3 class="wp-block-heading">Creando el mapa con la imagen.</h3>



<p class="wp-block-paragraph">Lo primero que haremos para poder descargar una imagen de un mapa de imágenes utilizando <a href="https://lineadecodigo.com/categoria/html5/">código HTML5</a> será crear un mapa con la imagen en el cual insertemos las partes enlazables. Para ello, lo primero será insertar una imagen con el fichero que contenga todas las imágenes mediante un elemento <a href="https://www.w3api.com/HTML/img/" target="_blank" rel="noopener">img</a>:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;img src="navegadores.png" alt="Navegadores" usemap="#navegadores" width="821" height="152"  /></pre>



<p class="wp-block-paragraph">Ademas, mediante la propiedad usemap vamos a decirle cual es el id que contiene el mapa de imágenes representado mediante un elemento <a href="https://www.w3api.com/HTML/map/" target="_blank" rel="noopener"><code>map</code></a>. Vemos que en este caso el mapa se llama “navegadores”. Así que pasamos a definir el mapa con el elemento <a href="https://www.w3api.com/HTML/map/" target="_blank" rel="noopener"><code>map</code></a>.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;map id="navegadores" name="navegadores">
&lt;/map> </pre>



<p class="wp-block-paragraph">El elemento <a href="https://www.w3api.com/HTML/map/" target="_blank" rel="noopener"><code>map</code></a> es muy sencillo y lo que tiene es que tienes que indicar mediante el atributo <a href="https://www.w3api.com/HTML/id/" target="_blank" rel="noopener"><code>id</code></a> cual es el nombre que le damos y que sirve para asociarlo a la imagen anteriormente definida.</p>



<h3 class="wp-block-heading">Definiendo áreas enlazables</h3>



<p class="wp-block-paragraph">Siguiendo con el ejemplo de descargar una imagen de un mapa de imágenes utilizando <a href="https://lineadecodigo.com/categoria/html5/">código HTML5</a> nos tocará definir cuales son las diferentes áreas o partes que nos podemos encontrar en la imagen y que representarán los elementos enlazables. Estas áreas se definen mediante el elemento <a href="https://w3api.com/HTML/area/" target="_blank" rel="noopener"><code>area</code></a>.</p>



<p class="wp-block-paragraph">Para ello tenemos que controlar el atributo <a href="https://w3api.com/HTML/area/shape/" target="_blank" rel="noopener"><code>shape</code></a> que indica la forma que tiene el área, ya sea un rectángulo, un círculo o un polígono y el atributo <a href="https://w3api.com/HTML/area/coords/" target="_blank" rel="noopener"><code>coords</code></a> que contiene las coordenadas que forman los vértices del área que hayamos definido.</p>



<p class="wp-block-paragraph">De esta manera si queremos trabajar con áreas que sean rectángulos para marcar las diferentes posiciones de nuestro mapa con logos de navegadores, hará que definamos el siguiente <a href="https://lineadecodigo.con/categoria/html/" target="_blank" rel="noopener">código en HTML</a>:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;map id="navegadores" name="navegadores">
  &lt;area shape="rect" coords="0,0,157,147" alt="Internet Explorer">
  &lt;area shape="rect" coords="164,0,321,147" alt="Firefox">
  &lt;area shape="rect" coords="340,0,497,147" alt="Google Chrome">
  &lt;area shape="rect" coords="507,0,664,147" alt="Safari">
  &lt;area shape="rect" coords="659,0,816,147" alt="Opera">
&lt;/map> </pre>



<p class="wp-block-paragraph">Ya tendremos nuestras áreas definidas dentro del mapa asociado a la imagen.</p>



<h3 class="wp-block-heading">Código para poder descargar una imagen de un mapa de imágenes</h3>



<p class="wp-block-paragraph">El siguiente paso es el más interesante para nuestro ejemplo, ya que es cuando vamos a añadir el código necesario para poder realizar la descarga de la imagen cuando pulsen sobre el logo. Para ello vamos a añadir dos atributos nuevos, por un lado <a href="https://w3api.com/HTML/area/href/" target="_blank" rel="noopener"><code>href</code></a> que nos servirá para enlazar con el fichero que contenga la imagen en concreto y otro que será <a href="https://w3api.com/HTML/area/download/" target="_blank" rel="noopener"><code>download</code></a>. El atributo <a href="https://w3api.com/HTML/area/download/" target="_blank" rel="noopener"><code>download</code></a> nos sirve para indicar que cuando se pulse sobre un enlace lo que se le indique al navegador es que tiene que empezar una descarga del fichero en vez de mostrarlo en pantalla. Dicho atributo puede funcionar solo o asociándolo el nombre que queremos que tenga el fichero que nos vamos a descargar.</p>



<p class="wp-block-paragraph">Por consiguiente el código que nos queda para los áreas será el siguiente:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;map id="navegadores" name="navegadores">
  &lt;area shape="rect" coords="0,0,157,147" href="explorer.png" alt="Internet Explorer" download="internet-explorer.png">
  &lt;area shape="rect" coords="164,0,321,147" href="firefox.png" alt="Firefox" download="firefox.png">
  &lt;area shape="rect" coords="340,0,497,147" href="google-chrome.png" alt="Google Chrome" download="google-chrome.png">
  &lt;area shape="rect" coords="507,0,664,147" href="safari.png" alt="Safari" download="safari.png">                
  &lt;area shape="rect" coords="659,0,816,147" href="opera.png" alt="Opera" download="opera.png">
&lt;/map> </pre>



<p class="wp-block-paragraph">Hay que tener mucho cuidado ya que si este código lo pones en una página web que cargues dentro de tu <a href="https://www.ayudaenlaweb.com/navegadores/que-es-un-navegador/" target="_blank" rel="noopener">navegador web</a> en local no va a funcionar. Y esto es importante ya que el atributo <a href="https://w3api.com/HTML/area/download/" target="_blank" rel="noopener"><code>download</code></a> solo nos va a funcionar si lo utilizas en una página web que esté disponble a través de un servidor web.</p>



<p class="wp-block-paragraph">De esta manera ya habremos terminado de desarrollar nuestro código para descargar una imagen de un mapa de imágenes utilizando <a href="https://lineadecodigo.com/categoria/html5/">código HTML5</a>, lo que te permitirá realizar diseños mucho más eficientes para la descarga en móviles o entornos de poco caudal de datos.</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/html5/descargar-una-imagen-de-un-mapa-de-imagenes/">Descargar una imagen de un mapa de imágenes</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lineadecodigo.com/html5/descargar-una-imagen-de-un-mapa-de-imagenes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>HTML5 Doctype</title>
		<link>https://lineadecodigo.com/html5/html5-doctype/</link>
					<comments>https://lineadecodigo.com/html5/html5-doctype/#respond</comments>
		
		<dc:creator><![CDATA[Víctor Cuervo]]></dc:creator>
		<pubDate>Sat, 22 Feb 2025 14:00:00 +0000</pubDate>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 Básicos]]></category>
		<guid isPermaLink="false">https://lineadecodigo.com/?p=17946</guid>

					<description><![CDATA[<img width="150" height="150" src="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png" class="webfeedsFeaturedVisual wp-post-image" alt="Ejemplos de Artículos sobre HTML5" style="float: right; margin-left: 5px;" link_thumbnail="" decoding="async" srcset="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png 150w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-120x120.png 120w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-24x24.png 24w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-48x48.png 48w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-96x96.png 96w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5.png 300w" sizes="(max-width: 150px) 100vw, 150px" /><p>Una de las preguntas que me hace la gente cuando realiza desarrollo web es relativa al HTML5 doctype y los doctypes existentes. Preguntas, por ejemplo, sobre ¿cuál es el doctype en HTML5? ¿Para qué sirve el doctype? ¿qué usos se hace el navegador web sobre el doctype? ¿Para qué sirve el doctype? Lo primero, antes [&#8230;]</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/html5/html5-doctype/">HTML5 Doctype</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<img width="150" height="150" src="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png" class="webfeedsFeaturedVisual wp-post-image" alt="Ejemplos de Artículos sobre HTML5" style="float: right; margin-left: 5px;" link_thumbnail="" decoding="async" srcset="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png 150w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-120x120.png 120w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-24x24.png 24w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-48x48.png 48w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-96x96.png 96w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5.png 300w" sizes="(max-width: 150px) 100vw, 150px" />
<p class="wp-block-paragraph">Una de las preguntas que me hace la gente cuando realiza desarrollo web es relativa al HTML5 doctype y los doctypes existentes. Preguntas, por ejemplo, sobre ¿cuál es el doctype en <a href="https://www.manualweb.net/html5/" target="_blank" rel="noopener">HTML5</a>? ¿Para qué sirve el doctype? ¿qué usos se hace el <a href="https://www.ayudaenlaweb.com/navegadores/que-es-un-navegador/" target="_blank" rel="noopener">navegador web</a> sobre el doctype?</p>



<h3 class="wp-block-heading">¿Para qué sirve el doctype?</h3>



<p class="wp-block-paragraph">Lo primero, antes de entrar en el detalle del <a href="https://www.manualweb.net/html5/" target="_blank" rel="noopener">HTML5</a> doctype es saber para qué sirve el doctype dentro de un <a href="https://manualweb.net/html5/documento-html5/" target="_blank" rel="noopener">documento HTML</a>.</p>



<p class="wp-block-paragraph">El doctype es una declaración que <strong>se coloca al inicio de un documento <a href="https://www.manualweb.net/html/" target="_blank" rel="noopener">HTML</a></strong> y tiene como función principal <strong>indicar al <a href="https://www.ayudaenlaweb.com/navegadores/que-es-un-navegador/" target="_blank" rel="noopener">navegador web</a> qué versión de <a href="https://www.manualweb.net/html/" target="_blank" rel="noopener">HTML</a> se está utilizando</strong>. Esto permite que el <a href="https://www.ayudaenlaweb.com/navegadores/que-es-un-navegador/" target="_blank" rel="noopener">navegador web</a> sepa cómo debe interpretar y renderizar el <a href="https://lineadecodigo.com/categoria/html/">código HTML</a> que contiene el documento.</p>



<h3 class="wp-block-heading">“Modo quirks” en los navegadores</h3>



<p class="wp-block-paragraph">Sin esta declaración, los <a href="https://www.ayudaenlaweb.com/navegadores/que-es-un-navegador/" target="_blank" rel="noopener">navegador web</a> podrían entrar en <strong>«modo quirks»</strong> o <strong>modo de compatibilidad</strong>, lo que podría causar <strong>inconsistencias en la visualización de la página web</strong>.</p>



<p class="wp-block-paragraph">El «modo quirks» (también conocido como «modo de compatibilidad») es un modo de renderizado especial que utilizan los <a href="https://www.ayudaenlaweb.com/navegadores/que-es-un-navegador/" target="_blank" rel="noopener">navegador web</a> para mantener la compatibilidad con páginas web antiguas. Cuando un <a href="https://www.ayudaenlaweb.com/navegadores/que-es-un-navegador/" target="_blank" rel="noopener">navegador web</a> entra en “modo quirks”, emula el comportamiento de <a href="https://www.ayudaenlaweb.com/navegadores/que-es-un-navegador/" target="_blank" rel="noopener">navegadores web</a> antiguos, específicamente aquellos anteriores al año 2000 entre los que nos encontrábamos el mítico <a href="https://www.ayudaenlaweb.com/navegadores/que-es-internet-explorer/" target="_blank" rel="noopener">Internet Explorer 5</a>.</p>



<p class="wp-block-paragraph">Este “modo quirks” afecta principalmente a:</p>



<ul class="wp-block-list">
<li>El modelo de caja <a href="https://www.manualweb.net/css/" target="_blank" rel="noopener">CSS</a> (box model)</li>



<li>El manejo de dimensiones en elementos en línea</li>



<li>La interpretación de ciertas <a href="https://w3api.com/CSS/tag/propiedad-css/" target="_blank" rel="noopener">propiedades CSS</a></li>



<li>El procesamiento de algunos <a href="https://w3api.com/HTML/tag/elemento-html/" target="_blank" rel="noopener">elementos HTML</a></li>
</ul>



<p class="wp-block-paragraph">Por esta razón, <strong>es crucial incluir siempre el doctype correcto</strong> al inicio de nuestros <a href="https://manualweb.net/html5/documento-html5/" target="_blank" rel="noopener">documentos HTML</a> para asegurar que el <a href="https://www.ayudaenlaweb.com/navegadores/que-es-un-navegador/" target="_blank" rel="noopener">navegador web</a> opere en «modo estándar» y renderice la página de manera consistente según las <a href="https://manualweb.net/html/historia-html-estandar/" target="_blank" rel="noopener">especificaciones actuales de HTML</a> y <a href="https://www.manualweb.net/css/" target="_blank" rel="noopener">CSS</a>.</p>



<h3 class="wp-block-heading">De dónde venimos en la definición de doctypes</h3>



<p class="wp-block-paragraph">Antes de entrar a revisar cual es la definición formal del <a href="https://www.manualweb.net/html5/" target="_blank" rel="noopener">HTML5</a> vamos echar la vista atrás y ver de dónde venimos en la definición de doctypes. Hasta la versión de HTML5 teníamos diferentes doctypes para <a href="https://manualweb.net/html/tipos-documentos-html/" target="_blank" rel="noopener">definir los tipos de documentos en HTML</a>. Así nos podíamos encontrar:</p>



<ul class="wp-block-list">
<li><strong>HTML 4.01 transitorio</strong>, que permitía el uso de elementos y atributos obsoletos para mantener la compatibilidad con versiones anteriores</li>



<li><strong>HTML 4.01 frameset</strong>, diseñado específicamente para documentos que utilizaban marcos (frames) para dividir la ventana del navegador en múltiples secciones</li>



<li><strong>HTML Estricto</strong>, que exigía el cumplimiento riguroso de las <a href="https://manualweb.net/html/historia-html-estandar/" target="_blank" rel="noopener">especificaciones HTML 4.01</a> y eliminaba todos los elementos y atributos obsoletos</li>
</ul>



<p class="wp-block-paragraph">Así nos podíamos encontrar las siguientes definiciones en los documentos. Para los estrictos:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "&lt;http://www.w3.org/TR/html4/strict.dtd>"></pre>



<p class="wp-block-paragraph">Para los transitorios:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "&lt;http://www.w3.org/TR/html4/loose.dtd>"></pre>



<p class="wp-block-paragraph">Y para aquellos que tienen frames:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN""&lt;http://www.w3.org/TR/html4/frameset.dtd>"></pre>



<h3 class="wp-block-heading">HTML5 Doctype</h3>



<p class="wp-block-paragraph">Pero al final <a href="https://manualweb.net/html/historia-html-estandar/#html5" target="_blank" rel="noopener">llegó la especificación actual que es HTML5</a> simplificando la especificación del <a href="https://manualweb.net/html5/documento-html5/" target="_blank" rel="noopener">documento HTML</a> dejando una sencilla definición en su cabecera en la que simplemente ponemos el elemento <code>doctype</code> con una exclamación delante, seguido de la palabra html. Todo ello dentro de los típicos símbolos menor y mayor de HTML que nos sirven para definir elementos.</p>



<p class="wp-block-paragraph">Por lo tanto, el inicio de nuestros documentos web tendrán el html5 doctype definido de la siguiente manera:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;!doctype html></pre>



<p class="wp-block-paragraph">Si nos fijamos en las anteriores definiciones se especificaba el <strong>DTD (Document Type Definition)</strong>, que es un archivo que define la estructura y las reglas del <a href="https://manualweb.net/html5/documento-html5/" target="_blank" rel="noopener">documento HTML</a>. Si bien, <a href="https://www.manualweb.net/html5/" target="_blank" rel="noopener">HTML5</a> ya se ha eliminado esa referencia.</p>



<h3 class="wp-block-heading">Futuro del Doctype en HTML</h3>



<p class="wp-block-paragraph">Ya que sabemos todo lo relativo al <a href="https://www.manualweb.net/html5/" target="_blank" rel="noopener">HTML5</a> doctype vamos a hablar un poco sobre su futuro. El doctype <strong>es un elemento que seguirá siendo fundamental en las futuras versiones de HTML</strong>. Si bien su sintaxis se ha simplificado ya tanto que no tiene pinta que vaya a cambiar en el futuro. Si bien seguirá siendo fundamental para poder indicar al <a href="https://www.ayudaenlaweb.com/navegadores/que-es-un-navegador/" target="_blank" rel="noopener">navegador web</a> que lo que se encuentra para poder renderizarlo es un documento <a href="https://www.manualweb.net/html/" target="_blank" rel="noopener">HTML</a>. Los grupos de trabajo de <a href="https://www.w3.org" target="_blank" rel="noopener">W3C</a> y <a href="https://whatwg.org/" target="_blank" rel="noopener">WHATWG</a> mantienen el compromiso de conservar esta declaración como parte esencial del <a href="https://manualweb.net/html/historia-html-estandar/" target="_blank" rel="noopener">estándar HTML</a>.</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/html5/html5-doctype/">HTML5 Doctype</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lineadecodigo.com/html5/html5-doctype/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cortes en la descarga de vídeos HTML5</title>
		<link>https://lineadecodigo.com/html5/cortes-en-la-descarga-de-videos-html5/</link>
					<comments>https://lineadecodigo.com/html5/cortes-en-la-descarga-de-videos-html5/#respond</comments>
		
		<dc:creator><![CDATA[Víctor Cuervo]]></dc:creator>
		<pubDate>Thu, 20 Feb 2025 14:00:00 +0000</pubDate>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[HTML5 Video]]></category>
		<guid isPermaLink="false">https://lineadecodigo.com/?p=17939</guid>

					<description><![CDATA[<img width="150" height="150" src="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png" class="webfeedsFeaturedVisual wp-post-image" alt="Ejemplos de Artículos sobre HTML5" style="float: right; margin-left: 5px;" link_thumbnail="" decoding="async" srcset="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png 150w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-120x120.png 120w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-24x24.png 24w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-48x48.png 48w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-96x96.png 96w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5.png 300w" sizes="(max-width: 150px) 100vw, 150px" /><p>Otro ejemplo para tener un control mayor sobre la descarga y visualización de los videos. En este caso vamos a ver cómo podemos controlar cortes en la descarga de vídeos HTML5. La idea es poder realizar una gestión con los usuarios de nuestras páginas web en el caso de que se corte la descarga del [&#8230;]</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/html5/cortes-en-la-descarga-de-videos-html5/">Cortes en la descarga de vídeos HTML5</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></description>
										<content:encoded><![CDATA[<img width="150" height="150" src="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png" class="webfeedsFeaturedVisual wp-post-image" alt="Ejemplos de Artículos sobre HTML5" style="float: right; margin-left: 5px;" link_thumbnail="" decoding="async" srcset="https://lineadecodigo.com/wp-content/uploads/2014/04/html5-150x150.png 150w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-120x120.png 120w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-24x24.png 24w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-48x48.png 48w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5-96x96.png 96w, https://lineadecodigo.com/wp-content/uploads/2014/04/html5.png 300w" sizes="(max-width: 150px) 100vw, 150px" />
<p class="wp-block-paragraph">Otro ejemplo para tener un control mayor sobre la descarga y visualización de los videos. En este caso vamos a ver cómo podemos controlar cortes en la descarga de vídeos <a href="https://www.manualweb.net/html/" target="_blank" rel="noopener">HTML5</a>.</p>



<p class="wp-block-paragraph">La idea es poder realizar una gestión con los usuarios de nuestras páginas web en el caso de que se corte la descarga del vídeo hacia la página.</p>



<h3 class="wp-block-heading">¿Por qué se puede suspender la descarga de un vídeo?</h3>



<p class="wp-block-paragraph">Antes de entrar a ver el detalle de cómo podemos codificar la implementación de establecer el control de cortes en la descarga de vídeos <a href="https://www.manualweb.net/html/" target="_blank" rel="noopener">HTML5</a> vamos a ver lo motivos por los cuales nos lleve a tener que realizar dicha implementación cuando estemos desarrollando nuestras páginas web mediante <a href="https://lineadecodigo.com/categoria/html5/">código HTML5</a>.</p>



<p class="wp-block-paragraph">La descarga de un vídeo se puede suspender por diferentes motivos. Es importante entender estas causas para poder diagnosticar y resolver los problemas de reproducción. Los motivos más comunes que pueden interrumpir la descarga de contenido multimedia son:</p>



<ul class="wp-block-list">
<li><strong>Una conexión lenta o inestable a Internet</strong>, que puede ser causada por problemas en la infraestructura de red o por la distancia al servidor.</li>



<li><strong>Problemas en el servidor que aloja el vídeo</strong>, incluyendo sobrecarga del servidor, mantenimiento programado o fallos técnicos inesperados.</li>



<li><strong>Saturación del ancho de banda del usuario</strong>, especialmente común cuando múltiples dispositivos comparten la misma conexión o durante horas pico de uso.</li>



<li>Puede ocurrir <strong>cuando el navegador decide pausar la descarga para optimizar recursos</strong> o cuando hay interferencias en la red. Esto incluye situaciones donde el navegador prioriza otras tareas o cuando detecta problemas de rendimiento en el sistema.</li>
</ul>



<figure class="wp-block-image size-large"><a href="https://lineadecodigo.com/wp-content/uploads/2025/02/video-onsuspend.webp"><img decoding="async" width="1024" height="773" src="https://lineadecodigo.com/wp-content/uploads/2025/02/video-onsuspend-1024x773.webp" alt="Motivos que nos llevan a tener que controloar los cortes en la descarga de vídeos HTML5" class="wp-image-17943 img-fluid" srcset="https://lineadecodigo.com/wp-content/uploads/2025/02/video-onsuspend-1024x773.webp 1024w, https://lineadecodigo.com/wp-content/uploads/2025/02/video-onsuspend-300x226.webp 300w, https://lineadecodigo.com/wp-content/uploads/2025/02/video-onsuspend-768x580.webp 768w, https://lineadecodigo.com/wp-content/uploads/2025/02/video-onsuspend.webp 1468w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<h3 class="wp-block-heading">Insertando el vídeo en una página HTML5</h3>



<p class="wp-block-paragraph">Manos a la obra, a estas alturas ya sabes cómo <a href="https://lineadecodigo.com/html5/cargar-un-video-en-html5/">insertar un vídeo HTML5</a> en tu página. Pero, por recordar como hacerlo, dejamos el código mediante el elemento <a href="https://w3api.com/HTML/video/" target="_blank" rel="noopener"><code>video</code></a> para indicar que hay un vídeo y el elemento <a href="https://w3api.com/HTML/source/" target="_blank" rel="noopener"><code>source</code></a> para cargar el origen del vídeo e indicar su formato.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;video id="video" width="320" height="240" controls>
  &lt;source src="tecla.mp4" type="video/mp4">
	Tu navegador no soporta elementos de vídeo
&lt;/video></pre>



<p class="wp-block-paragraph">Además, vamos a añadir un capa para poder volcar mensajes al usuario. Esto lo realizamos mediante el elemento <a href="https://w3api.com/HTML/div/" target="_blank" rel="noopener"><code>div</code></a>.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;p id="error-message" style="color: red;">&lt;/p></pre>



<h3 class="wp-block-heading">Gestionando el evento suspend para controlar cortes en la descarga de vídeos HTML5</h3>



<p class="wp-block-paragraph">Ahora pasamos al meollo de la cuestión que es la parte de controlar cortes en la descarga de vídeos <a href="https://www.manualweb.net/html/" target="_blank" rel="noopener">HTML5</a>. Para ello nos vamos a apoyar en el evento <a href="https://www.w3api.com/HTML/onsuspend/" target="_blank" rel="noopener"><code>onsuspend</code></a>. El evento <a href="https://www.w3api.com/HTML/onsuspend/" target="_blank" rel="noopener"><code>onsuspend</code></a> se lanza cuando la carga de un vídeo o de un audio se ha suspendido por alguno de los motivos que veíamos al prinicipio del artículo: conexión, saturación, el navaegador,… incluso el propio usuario, al parar el vídeo puede forzar a que el navegador suspenda la descarga del vídeo.</p>



<p class="wp-block-paragraph">Así que lo que haremos será coger una referencia al vídeo y suscribirnos a su evento <a href="https://www.w3api.com/HTML/onsuspend/" target="_blank" rel="noopener"><code>onsuspend</code></a>:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="js" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">const video = document.getElementById('video');

video.addEventListener('suspend', (event) => { });</pre>



<p class="wp-block-paragraph">Para suscribirnos al evento <a href="https://www.w3api.com/HTML/onsuspend/" target="_blank" rel="noopener"><code>onsuspend</code></a> hemos utilizado la función <a href="https://www.w3api.com/DOM/EventTarget/addEventListener/" target="_blank" rel="noopener"><code>addEventListener()</code></a> del DOM y le hemos asignado una <a href="https://manualweb.net/javascript/funciones-javascript/#funciones-an%C3%B3nimas" target="_blank" rel="noopener">función anónima de Javascript</a> para poder gestionar este evento.</p>



<p class="wp-block-paragraph">Lo que vamos a hacer en la gestión del evento, en este caso, será mostrar un mensaje de texto al usuario en la capa que habíamos creado a tal respecto.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="js" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">const video = document.getElementById('video');
const errorMessage = document.getElementById('error-message');

video.addEventListener('suspend', (event) => {
    errorMessage.innerHTML = 'La carga del vídeo se ha suspendido. Por favor, inténtelo de nuevo más tarde.';
});</pre>



<p class="wp-block-paragraph">De esta manera ya tendremos el código que nos permite controlar cortes en la descarga de vídeos <a href="https://www.manualweb.net/html/" target="_blank" rel="noopener">HTML5</a>. ¿Se te ocurre en qué situaciones te puedes ver avocado a realizar un control de los cortes en la descarga de vídeos utilizando el evento <a href="https://www.w3api.com/HTML/onsuspend/" target="_blank" rel="noopener">onsuspend</a>? Nos encantaría conocer tus opiniones, así que no dudes en dejárnoslas en los comentarios.</p>
<p>La entrada <a rel="nofollow" href="https://lineadecodigo.com/html5/cortes-en-la-descarga-de-videos-html5/">Cortes en la descarga de vídeos HTML5</a> aparece primero en <a rel="nofollow" href="https://lineadecodigo.com"></a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://lineadecodigo.com/html5/cortes-en-la-descarga-de-videos-html5/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
