我正在使用ExtJS版本2.我点击一个按钮将新标签添加到TabPanel。新标签功能如下所示:
function addTab(tabTitle, targetUrl){
tabPanel.add({
title: tabTitle,
iconCls: 'tabs',
closable:true
}).show();
}
我想知道是否可以获取targetUrl并将其显示在新标签中。如果我设置html: targetUrl
,我的标签内容显然只是带有我的网址的文字。如果我设置autoLoad: {url: targetUrl}
它有效,但它正在读取文件内容,就像它们是文本或脚本一样。问题是我需要打开图像,我只需要使用autoLoad
获取源代码,而不是图像的实际显示。我只是想让我的新标签像一个带有默认链接的新弹出窗口一样。
有人可以帮忙吗?
感谢。
答案 0 :(得分:2)
在Extjs中,您可以使用网址内容加载任何面板。你可以这样做
var panel = new Ext.Panel({
title: 'Your Tile',
closable: true,
iconCls: 'tabs',
autoLoad: {
url: targetUrl
}
});
tabPanel.add(panel);
tabPanel.doLayout();
tabPanel.setActiveTab(panel);
您可以在Extjs API文档中找到更多详细信息。
答案 1 :(得分:0)
如果URL是HTML snippit而不是整页,则需要进行AJAX调用以获取内容并更新选项卡。如果网页是完整页面,包括<html>
和<body>
标记,那么您应该使标签包含"src=\""+url+"\""
答案 2 :(得分:0)
为什么要通过响应发送图像,只需将图像的url指定为面板的html。
var panel = new Ext.Panel({
title: 'Your Tile',
closable: true,
iconCls: 'tabs',
url:'<img src="http://yourdomain.com/images/image.gif" />'
});
答案 3 :(得分:0)
没关系,我已经使用了ManagedIframe脚本,这恰好完全符合我的要求。不管怎样,谢谢。