La différence entre les balises <embed> et <object>
Les balises <embed> et <object> sont toutes deux utilisées pour charger le contenu d'un plugin externe, et leurs fonctionnalités sont assez similaires. Mais la première chose à noter est que la balise <embed> est une balise HTML obsolète.
Ainsi, la balise <object> est actuellement la balise standard utilisée pour intégrer quelque chose sur une page. Mais comme actuellement, tous les navigateurs n'affichent pas les informations contenues dans la balise <object>, vous pouvez avoir besoin d'utiliser l'élément <embed> au sein d'une balise <objet> pour prendre en charge davantage de navigateurs et également la validité du document. Étant donné que la balise <embed> est un élément HTML5, il n'y a aucun problème avec la validation du document en HTML5.
Outre les balises <param>, tout contenu à l'intérieur des balises <object> sera rendu si le navigateur ne prend pas en charge le plugin référencé de l'<object> et comme il est supposé, le contenu est demandé par HTTP, qu'il soit rendu ou non.
Ci-dessous, vous pouvez voir quelques exemples avec les balises <object> et <embed>.
Exemple d'inclusion d'un PDF avec la balise <object> :
<!DOCTYPE html>
<html>
<head>
<title>Titre de la page</title>
</head>
<body>
<object type="application/pdf" data="document.pdf" width="300" height="200">
<a href="exemple.pdf">Télécharger PDF</a>
</object>
</body>
</html>
Exemple d'inclusion d'une vidéo avec la balise <object> :
<!DOCTYPE html>
<html>
<head>
<title>Titre de la page</title>
</head>
<body>
<object data="video.mp4" width="300" height="200"></object>
</body>
</html>