如何防止iframe在缩放时重新调整大小
How to prevent an iframe from re-sizing when zooming
我读过类似的问题,但似乎没有人知道答案。我有一个iframe,用于加载图像。当我缩放时,iframe会变大或变小。有没有办法防止iframe缩放,或者在缩放时保持比例?
我让它为图像工作,但当我使用iframe 时,它似乎可以工作
JS
var iframeDimensions = document.getElementById('mobile-iframe');
var iwidth = iframeDimensions.clientWidth;
var iheight = iframeDimensions.clientHeight;
$(window).resize(function(){
var device = detectZoom.device();
newWidth = iwidth / device;
newHeight = iheight / device;
$(iframeDimensions).attr('width', newWidth);
$(iframeDimensions).attr('height', newHeight);
var winW = document.body.offsetWidth;
console.log('zoom level: '+device);
console.log('new width: '+newWidth+'px');
console.log('new height: '+newHeight+'px');
console.log('offsetWidth '+winW);
console.log('scale '+ winW / newWidth);
//$('iframe').css('-webkit-transform', 'scale(' + (device + ", " + device) + ')')
$('iframe').width();
//$('iframe').css('-webkit-transform', 'scale(1)');
});
HTML
<iframe id="mobile-iframe" src="https://www.google.com/logos/doodles/2013/maria-callas-90th-birthday-6111044824989696-hp.jpg" width="534" height="210" frameborder="0"></iframe>
JS解决方案:
看看这个如何在所有现代浏览器中检测页面缩放级别?例如,检测浏览器缩放级别,然后将iframe的宽度和高度乘以反值,这样最终它们在视觉上保持不变。
示例:缩放级别为1(标准):宽度:100px;高度:50px;缩放级别为2:width:50px;高度:25px;->浏览器显示它的大小是原来的两倍,所以它保持相同的
只是补充道:由于可用性,我仍然不建议这样做;)
相关文章:
- 在没有新行的情况下调整td中的动态加载内容
- 调整大小后获取Gridster小部件的新大小
- 加载新内容时调整iframe的高度
- 如何调整此代码,以便它将在新选项卡/窗口中打开重定向
- 可在新行上调整大小的 DIV 制作文本框
- 我可以调整或使用给定的(JavaScript)图表来创建不同的/新的图表吗?
- 如何使用新行调整文本框的大小
- 添加新元素时调整子元素的大小
- Jquery UI 在新元素上可调整大小不起作用
- 在调整大小的新弹出窗口中打开表单
- Javascript新窗口,用于在IE中不调整视频大小
- 插入新元素后,在 extjs 中不会自动触发大小调整
- 在窗口大小调整时写入新文本大小的功能
- 文本不会在屏幕大小调整时调整大小
- 打开窗体会导致新的调整大小的窗口
- 动态添加新数据时调整FancyBox模式的大小
- 网页不会随着窗口大小的调整而调整大小
- 文本区域自动调整大小调整在每一个按键上的铬
- 在容器大小调整上调整传单地图的大小
- jQuery-UI可调整大小调整所有子元素及其字体大小