我想知道是否有可能在加載之前獲取圖像的大小(寬度和高度)?不幸的是,我不能使用這樣的代碼:如何在加載之前獲取圖像的寬度和高度?
$('img').load(function() {
alert(this.width + ' ' + this.height);
});
而圖像加載我等不及了,我需要在beggining知道圖像的大小。
是否可以或應該使用例如PHP和getimagesize()函數並將其傳遞給HTML?
我想知道是否有可能在加載之前獲取圖像的大小(寬度和高度)?不幸的是,我不能使用這樣的代碼:如何在加載之前獲取圖像的寬度和高度?
$('img').load(function() {
alert(this.width + ' ' + this.height);
});
而圖像加載我等不及了,我需要在beggining知道圖像的大小。
是否可以或應該使用例如PHP和getimagesize()函數並將其傳遞給HTML?
你不能。瀏覽器在加載之前不會報告圖像的尺寸。你必須得到服務器端的信息,或者改變你的方法,所以在加載之前你不需要知道。
如果你只需要知道圖像的大小,你把它放在網頁(而不是從字面上你加載它之前),你可以這樣做:
img = new Image();
img.onload = function() {
// Here, you can reliably use `width` and `height`
display("Loaded, size is " + this.width + "x" + this.height);
};
img.src = "the/path/to/the/image/goes/here";
這是重要的是在之前勾選load
事件設置src
,以防圖像在緩存中並且事件立即觸發。
(我不主張使用DOM0風格處理像onload
,但他們在簡單的例子是有用的。)
爲什麼你需要知道圖像加載之前的尺寸?有些東西告訴我有一個更好的方法(比如將頁面預先緩存在頁面外),但這取決於你實際要做什麼。 –