我正在尝试在Sencha中创建一个显示iframe的Carrousel。
基本的想法是我有一堆HTML文件已经配置为可以在iPad上查看。
所以文件有视口和所有配置。
我创建了一个简单的转盘:
var rootPanel;
Ext.setup({
onReady: function() {
rootPanel = new Ext.Carousel({
fullscreen: true,
layout: 'card',
items: [
{ html: '<iframe src="http://localhost/file1.html">' },
{ html: '<iframe src="http://localhost/file2.html">' },
{ html: '<iframe src="http://localhost/file3.html">' },
]
});
}
});
HTML文件本身如下:
<!DOCTYPE html>
<html>
<head>
<title>Untitled Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width; initial-scale=0.5; minimum-scale=0.5; maximum-scale=1.0;user-scalable=no">
</head>
<body>
<div id="container">
<div style="margin:0;padding:0;position:absolute;left:0px;top:0px;width: 1536px; height: 2048px;text-align:left;z-index:0;">
<img src="image.jpg" style="width: 1536px; height: 2048px;"></div>
</div>
</body>
</html>
除了不尊重视口并且iframe的内部没有像它应该的那样缩小之外,系统排序有效。有什么想法吗?
答案 0 :(得分:0)
我不熟悉sencha,但是iframe没有能力将高度设置为百分比(100%)。因此,如果sencha将宽度和高度设置为100%,它将不会垂直扩展,而应该水平填充父级。
这是你看到的吗?
尝试手动将iframe的高度设置为px中足够大的尺寸。如果您可以控制iframe的内容,那么您可以添加一些javascript来与父进行通信,并告诉它适当调整大小。
答案 1 :(得分:0)
在iframe和内部html上设置100%
var rootPanel;
Ext.setup({
onReady: function() {
rootPanel = new Ext.Carousel({
fullscreen: true,
layout: 'card',
cls: 'some-cards',
items: [
{ html: '<iframe width="100%" height="100%" src="http://localhost/file1.html">' },
{ html: '<iframe width="100%" height="100%" src="http://localhost/file2.html">' },
{ html: '<iframe width="100%" height="100%" src="http://localhost/file3.html">' },
]
});
}
});
你可以链接这样的东西。
.some-cards .x-innerhtml {
height: 100%;
}