如何从Javascript中从rails加载的图像中获取原始图像尺寸?

时间:2015-01-12 02:42:40

标签: javascript ruby-on-rails

我和我的一个朋友在Rails应用程序上工作,我正在帮助处理一些前端和UI任务。对于其中一个视图,页面只显示用户上传的图像。

在我的javascript中,我需要获得每次都可能改变的图像宽度。在本网站的其他问题中,我看到很多人都有使用类似var image = new Image();之类的解决方案但是,由于这个图像是由rails动态加载的,我无法像这样访问图像。

基本上,如何在javascript中确定动态加载图像的原始尺寸?

我想象的肮脏的解决方案,但会尽量避免:

1-在使用css修改项目之前获取项目的宽度 - 例如

originalWidth = img.width();
img.css('width','100%');

2-让rails应用程序存储图像尺寸,以便我可以像<%= @image.width%>一样在我的JS代码中嵌入它们

1 个答案:

答案 0 :(得分:1)

如果图像元素具有id或其他标识符

img=new Image();
img.src=document.getElementById('imgElement').src;
console.log(img.width,img.height);