ExtJS在新选项卡中显示链接

时间:2009-07-17 11:29:17

标签: javascript extjs hyperlink

我正在使用ExtJS版本2.我点击一个按钮将新标签添加到TabPanel。新标签功能如下所示:

function addTab(tabTitle, targetUrl){
        tabPanel.add({
        title: tabTitle,
        iconCls: 'tabs',
        closable:true
    }).show();
}

我想知道是否可以获取targetUrl并将其显示在新标签中。如果我设置html: targetUrl,我的标签内容显然只是带有我的网址的文字。如果我设置autoLoad: {url: targetUrl}它有效,但它正在读取文件内容,就像它们是文本或脚本一样。问题是我需要打开图像,我只需要使用autoLoad获取源代码,而不是图像的实际显示。我只是想让我的新标签像一个带有默认链接的新弹出窗口一样。

有人可以帮忙吗?

感谢。

4 个答案:

答案 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+"\""

的iFrame

答案 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脚本,这恰好完全符合我的要求。不管怎样,谢谢。