Javascript 如何防止iframe在缩放时重新调整大小

Javascript 如何防止iframe在缩放时重新调整大小,javascript,html,css,iframe,zooming,Javascript,Html,Css,Iframe,Zooming,我读过类似的文章,但似乎没有人有答案。我有一个iframe,我正在加载图像。缩放iframe时,iframe会变大或变小。有没有办法防止iframe变焦,或者在变焦时保持比例 我让它为图像工作,但当我使用iframe时,它似乎可以工作 JS var iframeDimensions = document.getElementById('mobile-iframe'); var iwidth = iframeDimensions.clientWidth; var iheight = iframeD

我读过类似的文章,但似乎没有人有答案。我有一个iframe,我正在加载图像。缩放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:宽度:50px;高度:25px;->浏览器将其显示为原来的两倍大小,使其保持不变

只是补充说:由于可用性的原因,我仍然不建议这样做;)

使用JS的解决方案:

举个例子,检测浏览器的缩放级别,然后将iframe的宽度和高度乘以倒数,这样最终它们在视觉上保持不变

示例:缩放级别为1(标准):宽度:100px;高度:50px; 缩放级别为2:宽度:50px;高度:25px;->浏览器将其显示为原来的两倍大小,使其保持不变


只是补充说:由于可用性的原因,我仍然不建议这样做;)

到底什么是缩放?整页?如果是这样,那么预期的行为是否也会缩放iframe?我相信这里的简单答案是,不,没有办法做你想做的事情(没有javascript也不行)。你说的缩放是什么意思。内置浏览器缩放?这是为了调整大小,所以不,你可能不想让它保持相同的大小,即使你可以,它也不会很有用。但它应该保持该比率,因为它只是调整渲染视图的大小。因此,也许可以添加一个提琴和一个更精确的描述,说明你的问题是什么?当用户放大他们的浏览器时,我想阻止iFrame的正常行为。这是用于在iframe中显示图像广告@matthewpavkov我将如何在jsYes中执行此操作?是的,内置浏览器缩放。我想阻止iFrame的缩放。iStreams将有一个图像@riaelliger到底放大了什么?整页?如果是这样,那么预期的行为是否也会缩放iframe?我相信这里的简单答案是,不,没有办法做你想做的事情(没有javascript也不行)。你说的缩放是什么意思。内置浏览器缩放?这是为了调整大小,所以不,你可能不想让它保持相同的大小,即使你可以,它也不会很有用。但它应该保持该比率,因为它只是调整渲染视图的大小。因此,也许可以添加一个提琴和一个更精确的描述,说明你的问题是什么?当用户放大他们的浏览器时,我想阻止iFrame的正常行为。这是用于在iframe中显示图像广告@matthewpavkov我将如何在jsYes中执行此操作?是的,内置浏览器缩放。我想阻止iFrame的缩放。ifreames将有一个图像@riaelliger我将尝试这个,我会让你保持联系@RiaElligerSo我做了这项工作,但只针对图像。对于I帧,宽度和高度会发生变化,但iframe会放大。。。我更新了@RiaElligersure上面的代码,如果这是你的意思,iframe中的内容会被放大。但是,如果你的iframe中只有一个图像,你可以加载一个站点而不是图像本身,然后使用cssI使其使用100%的宽度。我将尝试这样做,我会随时向你发布@RiaElligerSo我做了这项工作,但只针对图像。对于I帧,宽度和高度会发生变化,但iframe会放大。。。我更新了@RiaElligersure上面的代码,如果这是你的意思,iframe中的内容会被放大。但如果你的iframe中只有一个图像,你可以加载一个站点而不是图像本身,然后使用css使其使用100%的宽度