Maison > interface Web > js tutoriel > Comment obtenir de manière fiable les dimensions de l'image dans les navigateurs WebKit ?

Comment obtenir de manière fiable les dimensions de l'image dans les navigateurs WebKit ?

DDD
Libérer: 2024-12-03 13:25:11
original
962 Les gens l'ont consulté

How to Reliably Get Image Dimensions in WebKit Browsers?

Détermination des dimensions de l'image dans les navigateurs Webkit

Lors du développement de plugins JavaScript, il est crucial d'obtenir la largeur et la hauteur réelles d'une image. Alors que les méthodes conventionnelles fonctionnent dans Firefox, IE et Opera, elles échouent dans Safari et Chrome, où les valeurs renvoyées sont nulles.

Comportement de chargement d'image unique de WebKit

Contrairement à Dans d'autres navigateurs, Webkit définit les propriétés de hauteur et de largeur d'une image uniquement après son chargement. Ce comportement nécessite une approche différente pour récupérer les véritables dimensions de l'image.

利用图片加载事件

La solution recommandée implique l'utilisation de l'événement onload d'une image. Vous trouverez ci-dessous un extrait de code modifié qui résout le problème :

var img = $("img")[0]; // Get the image element
var pic_real_width, pic_real_height;
$("<img/>") // Create an in-memory copy to avoid CSS issues
    .attr("src", $(img).attr("src"))
    .load(function() {
        pic_real_width = this.width;
        pic_real_height = this.height;
    });
Copier après la connexion

Éviter les effets CSS

Pour éviter que les effets CSS n'affectent les dimensions, le code crée un copie mémoire de l'image. Cette technique garantit que les valeurs récupérées reflètent avec précision la taille réelle de l'image.

Approche alternative : Attributs HTML5

HTML5 fournit les attributs naturalHeight et naturalWidth, qui peuvent également être utilisés. pour récupérer les dimensions réelles de l'image. Cependant, la prise en charge de ces attributs varie selon les navigateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal