Bryan_Chan 2011-01-05 10:33
浏览 225
已采纳

如何获取Ext中没有active的tab页里的对象

系统首页底部有个Ext TabPanel,默认是收缩的,该TabPanel包含两个tab,并且activeTab:0,现在我打开系统首页,点击某个菜单“显示Map2”,要求最大化第二个tab,并获取该tab中的html页面(页面嵌套一个Flash对象)中的Flash Object,但是因为activeTab默认是0,所以在获取第二个tab中的对象报脚本错误。

以下是Tab Panel部分代码:

[code="java"]
titlebar: true,
height: 300,
margins:'0 0 0 0',
items:
new Ext.TabPanel({
id: 'flashId',
border:false,
activeTab:0,
tabPosition:'bottom',
items:[{
id:'web_map_tab1',
html:'/flash/map2.html?token=${userContext.sessionId}" id="__webMap2__" name="__webMap2__" frameBorder="0" scrolling="auto" top="0" width="100%" height="100%">',
title: 'Map2',
autoScroll:true
}]
}),
.....
[/code]

其中map2.html中的内容为:

[code="java"]
name="mapObj2" id="mapObj2"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"
width="690" height="510">


pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Pr od_Version=ShockwaveFlash'
type='application/x-shockwave-flash' width=690 height=510>

[/code]

点击“显示Map2”的JS方法:

[code="java"]
function showMap2(){//打开第二个TAB页面并获取Flash对象
window.top.maximizeFlash();//最大化MAP2

var webFrame = window.top.document.getElementById("__webMap2__");
var flashObj = webFrame.contentWindow.document.getElementById("mapObj2");//mapObj2为第二个Tab指向页面的object id

//******************************
//这里取不到flashObj,报脚本错误,当把activeTab改成1的时候,就可以得到
//但是需求是默认activeTab只能是0
//******************************

}

/**

  • 最大化MAP2区域,并显示Map2中的FLASH */ function maximizeFlash(){
    Ext.getCmp('webGisId').expand(true); Ext.getCmp('webGisId').tools['maximize'].dom.click(); Ext.getCmp('flashId').setActiveTab(1); //这里修改也无效 } [/code]

因为对EXT不太熟,希望熟悉的人可以指点一下,谢谢!

  • 写回答

2条回答 默认 最新

  • iteye_5075 2011-01-05 11:29
    关注

    上面的回答有误,你加个deferredRender:false应该就可以了

    [code="java"]

    new Ext.TabPanel({
    deferredRender:false

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型