Los atributos SRC
y HREF
se utilizan para incluir algunas entidades externas como una imagen, un archivo CSS, un archivo HTML, cualquier otra página web o un archivo JavaScript.
¿Existe una clara diferenciación entre SRC
y HREF
? ¿Dónde o cuándo usar SRC
o HREF
? Creo que no se pueden usar indistintamente.
A continuación, presento algunos ejemplos en los que se utilizan estos atributos:
- Para referir un archivo CSS:
href="cssfile.css"
dentro de la etiqueta del enlace. - Para referir un archivo JS:
src="myscript.js"
dentro de la etiqueta del script. - Para referir un archivo de imagen:
src="mypic.jpg"
dentro de una etiqueta de imagen. - Para referir otra página web:
href="http://www.webpage.com"
dentro de una etiqueta de anclaje.
Respuestas:
NOTA: La respuesta de @ John-Yin es más apropiada considerando los cambios en las especificaciones.
Si. Hay una diferenciación entre src y href y no se pueden usar indistintamente. Utilizamos src para los elementos reemplazados mientras que href para establecer una relación entre el documento de referencia y un recurso externo.
El atributo href (referencia de hipertexto) especifica la ubicación de un recurso web definiendo así un enlace o relación entre el elemento actual (en caso de ancla
a
) o el documento actual (en caso delink
) y el ancla o recurso de destino definido por este atributo. Cuando escribimos:El navegador entiende que este recurso es una hoja de estilo y el
Procesandoel análisis de la página no está en pausa (el procesamiento puede estar en pausa ya que el navegador necesita las reglas de estilo para pintar y renderizar la página). Es no similar al vertido el contenido del archivo CSS dentro de lastyle
etiqueta. (Por lo tanto, es aconsejable usar enlink
lugar de@import
adjuntar hojas de estilo a su documento html).El atributo src (Fuente) simplemente incrusta el recurso en el documento actual en la ubicación de la definición del elemento. Por ej. Cuando el navegador encuentra
La carga y el procesamiento de la página se detiene hasta que el navegador recupera, compila y ejecuta el archivo. Es similar a volcar el contenido del archivo js dentro de la
script
etiqueta. Similar es el caso con laimg
etiqueta. Es una etiqueta vacía y el contenido, que debe venir dentro, está definido por elsrc
atributo. El navegador detiene la carga hasta que recupera y carga la imagen. [así es el caso coniframe
]Esta es la razón por la cual es recomendable cargar todos los archivos JavaScript en la parte inferior (antes de la
</body>
etiqueta)actualización : Consulte la respuesta de @ John-Yin para obtener más información sobre cómo se implementa según las especificaciones HTML 5.
fuente
src
generalmente carga el archivo en serie mientras lohref
carga en paralelo. Por lo tanto, el tiempo de carga percibido aumenta cuando los recursos se cargan en serie.La respuesta de apnerve fue correcta antes de que saliera HTML 5, ahora es un poco más complicado.
Por ejemplo, el
script
elemento, de acuerdo con la especificación HTML 5 , tiene dos atributos globales que cambian el funcionamiento delsrc
atributo:async
ydefer
. Estos cambian cómo se debe ejecutar el script (incrustado en línea o importado desde un archivo externo).Esto significa que hay tres modos posibles que se pueden seleccionar usando estos atributos:
async
atributo está presente, el script se ejecutará de forma asíncrona, tan pronto como esté disponible.async
atributo no está presente pero eldefer
atributo está presente, el script se ejecuta cuando la página ha finalizado el análisis.Para más detalles, consulte recomendación HTML 5
Solo quería actualizar con una nueva respuesta para quien ocasionalmente visita este tema. Stackoverflow y cada uno de nosotros deben verificar y archivar algunas de las respuestas.
fuente
Creo que
<src>
agrega algunos recursos a la página y<href>
es solo para proporcionar un enlace a un recurso (sin agregar el recurso en sí a la página).fuente
Definición simple
fuente
SRC ( S ou rc e): quiero cargar este recurso para mí.
Por ejemplo:
HREF ( H ypertext REF ) - Quiero referirme a este recurso para otra persona.
Por ejemplo:
Cortesía
fuente
H REF : Es un REF rencia a la información de la página actual información css es decir, para el estilo de página o vínculo a otra página. El análisis de página no se detiene.
SRC : es una fuente que se agregará / cargará en la página como en imágenes o javascript. El análisis de la página puede detenerse dependiendo del atributo codificado. Es por eso que es mejor agregar un script justo antes de la etiqueta del cuerpo final para que la representación de la página no se detenga.
fuente
Si estás hablando de HTML4, su lista de atributos puede ayudarte con las sutilezas. No son intercambiables.
fuente
De W3:
Fuente: http://www.w3.org/TR/html401/struct/links.html
Fuente: http://www.w3.org/TR/REC-html40/struct/objects.html
fuente
Una definición simple
fuente
Usted debe recordar cuándo utilizar cada uno y eso es todo
el href se utiliza con enlaces
el src se usa con scripts e imágenes
la url se usa generalmente en CSS para incluir algo, por ejemplo, para agregar una imagen de fondo
fuente
después de pasar por la documentación HTML 5.1 (1 de noviembre de 2016):
parte 4 (Los elementos de HTML)
no contiene el
src
atributo ...La bruja es lógica porque es un enlace.
Ni siquiera menciona el
href
atributo ...¡Esto indica que al usar etiquetas de script siempre use el
src
atributo!tampoco menciona el
href
atributo ...esto indica que cuando se usan
img
etiquetas, elsrc
atributo debe usarse también ...Enlace de referencia a la Recomendación del W3C
fuente
No son intercambiables: cada uno se define en diferentes elementos, como se puede ver aquí .
De hecho, tienen significados similares, por lo que esto es una inconsistencia. Asumiría principalmente debido a que las diferentes etiquetas están siendo implementadas por diferentes proveedores para comenzar, luego se incluyen en la especificación para evitar romper la compatibilidad con versiones anteriores.
fuente
src
etiqueta agrega recursos a la página mientras quehref
solo proporciona un enlace al recurso y establece una relación con el documento.No tienen significados similares. 'src' indica un recurso que el navegador debe buscar como parte de la página actual. HREF indica un recurso a buscar si el usuario lo solicita.
fuente
<link href="foo.css" rel="stylesheet" type="text/css">
href
indica que se debe buscar un recurso si el agente de usuario lo solicita. La hoja de estilo no se obtiene como parte del documento actual.Estoy de acuerdo con lo que dice apnerve sobre la distinción. Pero en el caso de CSS parece extraño. Como css también se descarga al cliente por navegador. No es como una etiqueta de anclaje que apunta a un recurso específico. Así que usar href me parece extraño. Incluso si no está cargada con la página sin esa página, no puede verse completa y, por lo tanto, no es solo una relación, sino un recurso similar, que a su vez se refiere a muchos otros recursos como imágenes.
fuente
CSS
es parte delHTML
documento, puedes usar seguir adelante y usar lastyle
etiqueta con la@import
regla. Puede tener consecuencias en el rendimiento, pero tiene el sentido adecuado en este escenario.src se usa para agregar ese recurso a la página, mientras que href se usa para vincular a un recurso particular desde esa página.
Cuando lo usa en su página web, el navegador ve que es una hoja de estilo y, por lo tanto, continúa con la representación de la página a medida que la hoja de estilo se descarga en paralelo.
Cuando lo usa en su página web, le dice al navegador que inserte el recurso en la ubicación. Así que ahora el navegador tiene que buscar el archivo js y luego cargarlo. Hasta que el navegador finalice el proceso de carga, el proceso de representación de la página se detiene. Esa es la razón por la cual YUI recomienda cargar sus archivos JS en la parte inferior de su página web.
fuente