Feed图像显示在某些浏览器中旋转

时间:2012-09-25 18:19:10

标签: jquery css xml image

我有一个奇怪的问题。感谢Chris在css-tricks.com使用CSS Anything滑块,我使用jQuery来提取要在滑块中显示的图像的XML提要:

$.post('feedURL', {},function(data){
    var slides = $(data).find('slides');
    for(var i = slides.length -1;i>=0;i--){
        var obj = $(slides[i]);
        var image = obj.find('ImageURL').text();

        var str = ' <li>';
        str += '        <img src="'+ image +'" />';
        str += '    </li>';

        $(str).find('img').one('load complete', function() {
            imageResize();
        }).end().appendTo($("#slider")); // Slider is a UL element on the page
    }
});

图像加载后,我运行图像调整大小功能。我的图像以各种不同的大小随机上传,这就是调整大小功能的原因。

function imageResize() {
    // Create the correct aspec ratio for images that are too large.
    $('#slider li img').each(function() {
        var maxWidth = 417; // Max width for the image
        var maxHeight = 313;    // Max height for the image
        var ratio = 0;  // Used for aspect ratio
        var width = $(this).width();    // Current image width
        var height = $(this).height();  // Current image height

        // Check if the current width is larger than the max
        if(width > maxWidth){
            ratio = maxWidth / width;   // get ratio for scaling image
            $(this).css("width", maxWidth); // Set new width
            $(this).css("height", height * ratio).css("margin-top", (maxHeight - height * ratio) / 2);  // Scale height based on ratio

            height = height * ratio;    // Reset height to match scaled image
            width = width * ratio;    // Reset width to match scaled image
        }

        // Check if current height is larger than max
        if(height > maxHeight){
            ratio = maxHeight / height; // get ratio for scaling image
            $(this).css("height", maxHeight);   // Set new height
            $(this).css("width", width * ratio).css("margin-top", "0");    // Scale width based on ratio

            width = width * ratio;    // Reset width to match scaled image
        }
    });
}

我的Feed中的图像很好,但有些图像会旋转到一边。

这是奇怪的部分。当您从Feed中查看图片网址并在新窗口中显示时,Feed中的实际图片会在其侧面旋转,但仅针对浏览器Chrome和Firefox进行旋转,但它是 NOT 在Safari中旋转。无论是浏览器,在实际的幻灯片放映中,它们总是旋转到一边。

如果我右键单击并将图像从Feed保存到我的桌面,图像会保存在正面并 NOT 旋转。

世界上发生了什么?任何人都有线索?

1 个答案:

答案 0 :(得分:1)

这是我在Feed中获得的图片文件中的元数据。拍摄照片文件后,将其旋转几次,然后将其旋转回正常并保存,它就会开始显示在我的Feed中。