我在模拟器上运行我的sencha-touch / phonegap应用程序,当我在面板上使用iframe设置html时。它不可见。但是如果我切换到另一个面板并回到原来的html面板。 html是可见的。 我相信它的刷新或布局问题,但我找不到重绘面板的方法。
我已尝试myPanel.hide()
和myPanel.show()
,但内容不可见。我在if下面有一个iframe
'<div style="height:100%;-webkit-overflow-scrolling:touch;"><iframe style="width:100%;height:100%" src="'+results[i].url+'"/></div>'
我正在动态设置div的内容,如下所示。
for(var i=0;i<results.length;i++)
{
console.log("Setting the result page to "+results[i].url);
var url = '<div style="height:100%;-webkit-overflow-scrolling:touch;"><iframe style="width:100%;height:100%" src="'+results[i].url+'"/></div>';
this.getResultsTabPanel().add({
title: results[i].title,
id:results[i].title+(i+1),
itemId:results[i].title+(i+1),
html:url
});
}
有什么想法吗?
答案 0 :(得分:0)
我现在有一个解决方案。而不是立即将子面板添加到tabpanel。我在里面像这样创建它们
for(var i=0;i<results.length;i++)
{
var url = '<div style="height:100%;-webkit-overflow-scrolling:touch;"><iframe style="width:100%;height:100%" src="'+results[i].url+'"/></div>';
var result = {
title: results[i].title,
id:results[i].title+(i+1),
config : {
itemId:results[i].title+(i+1),
},
xtype: 'panel',
scrollable:true,
styleHtmlContent : true,
html:url
};
panels.push(result);
}
this.getResultsTabPanel().add(panels);
这适用于Chrome浏览器和模拟器。