【发布时间】:2015-04-30 23:44:29
【问题描述】:
我创建了一个 iframe,并将其作为叠加层添加到页面中。我希望它位于页面的中心。但是,当我在非移动优化页面上使用移动设备并放大时,iframe 通常会显示在屏幕外。
var w = window,
d = document,
e = d.documentElement,
g = d.getElementsByTagName('body')[0],
width = w.innerWidth || e.clientWidth || g.clientWidth;
display_width = 450;
margin = (width-450) / 2;
frame.setAttribute('style','z-index: 2147483647;position:fixed;top:20px;left:'+margin+'px;width:'+display_width+'px;margin:0px;border: 1px solid; border-color:#ddd;max-width:none;overflow:visible;');
function resizeFrameWidth(){
var frame = document.getElementById('PennyPledge54DT');
var w = window,
d = document,
e = d.documentElement,
g = d.getElementsByTagName('body')[0],
width = w.innerWidth || e.clientWidth || g.clientWidth;
var margin = 20;
var display_width = width - 40;
if(!mobile){
display_width = 450;
margin = (width-450) / 2;
}
frame.style.width = display_width+"px";
frame.style.left = margin+"px";
}
if(window.attachEvent) {
window.attachEvent('onresize', resizeFrameWidth);
}
else if(window.addEventListener) {
window.addEventListener('resize', resizeFrameWidth, true);
当我调整窗口大小时它会起作用,但当我缩放时它不起作用。
编辑: 这是一个按要求提供的jsfiddle。但是,当您放大内容时,问题就会显现出来。我只知道如何通过移动设备做到这一点。所以我不知道小提琴会有多大用处。
https://jsfiddle.net/41y62su7/
编辑 这是我稍微放大页面时 iframe 在移动设备上的屏幕截图。
【问题讨论】:
-
能否提供一个jsfiddle 示例,以便我们轻松修改和测试?
标签: javascript css iframe