如何在extjs新打开的浏览器中获取id
我正在使用以下代码创建一个弹出窗口:如何在extjs新打开的浏览器中获取id,extjs,extjs4,extjs3,Extjs,Extjs4,Extjs3,我正在使用以下代码创建一个弹出窗口: var window = Ext.create('Ext.window.Window',{ title : headerMsg, width : 350, me:me, height : 250, layout : 'fit', plain : true, name : 'exportWin', id : 'exportWin' + (++eWin), buttonAlign : 'ce
var window = Ext.create('Ext.window.Window',{
title : headerMsg,
width : 350,
me:me,
height : 250,
layout : 'fit',
plain : true,
name : 'exportWin',
id : 'exportWin' + (++eWin),
buttonAlign : 'center',
items : [{
xtype : 'box',
autoEl : {
tag : 'iframe',
src : url,
id : eWin,
name : 'ExportFrame',
height : '100%',
width : '100%',
style : 'cursor:pointer;top:10px'
}
}
]
});
window.show();
一切正常,现在我需要在新打开的浏览器中获取id
我尝试了window.id、self.id和this.id,但都无效。
但是window.name正在工作,它正在按预期发出“ExportFrame”警报,但window.id没有发出“eWin”变量警报,它发出的警报为未定义
提前谢谢 Ext.create返回一个对象,因此您可以简单地使用window.id访问该对象 要获取iframe的ID,可以使用以下命令:
window.items.items[0].autoEl.id
我使用您的以下修改脚本对其进行了测试:
var eWin = 1337;
var Ywindow = Ext.create('Ext.window.Window',{
title : 'dummy',
width : 350,
//me:me,
height : 250,
layout : 'fit',
plain : true,
name : 'exportWin',
id : 'exportWin' + (++eWin),
buttonAlign : 'center',
items : [{
xtype : 'box',
autoEl : {
tag : 'iframe',
src : 'https://ccc.de',
id : eWin,
name : 'ExportFrame',
height : '100%',
width : '100%',
style : 'cursor:pointer;top:10px'
}}]});
Ywindow.show();
console.log(Ywindow.items.items[0].autoEl.id);
但是,当您在代码中编写时,它只是:
eWin or ++eWin. // in our case: 1338
比起ID,我更喜欢参考资料。 这让我从MVVM和MVC模式中获得了更多的能力。 顺便说一句,调用var窗口不是最优的-窗口是一个全局JS浏览器对象 因此,为了演示,我创建了一个提琴,这应该可以在ExtJS4+上使用
(在控制台中查看,您将找到两个id)如果您想选择最近创建的
Ext.window.window
的id
属性,只需使用window.getId()
如果要选择子iframe
的实际id
,可以使用
Ext.dom.Query.select('iframe')[0].id
有关在中使用ExtJS在DOM中导航的详细信息。Hii尝试了window.id,但它没有显示iframe窗口IDSure,window.id显示id:'exportWin'+(++eWin)。iframe id是eWin,对吗?首先我非常感谢您的快速回复。不,实际上,当我使用window.id时,它显示的是未定义的,但我希望看到的是“exportWin”+(++eWin)(即exportWin1、exportWin2、exportWin3…)不是eWin iframe的id将是eWin,面板的id将是“exportWin”+(++eWin)。看看小提琴,在那里你可以找到一种方法来获得两个ID。嘿,谢谢你。。。!!实际上,您正在app.js中记录这些值,但我需要的是从新创建的框架(即从window.show()创建的窗口)中获取ID;功能。我试过self.id、window.id和this.id,但都没用。谢谢。。。!!实际上,您正在app.js中记录这些值,但我需要的是从新创建的框架(即从window.show()创建的窗口)中获取ID;功能。我尝试了self.id、window.id、this.id,但我发现没有任何效果,您希望从iframe JS代码中获取id。我猜您必须将ID作为iframe url的一部分传递(或者在加载iframe内容时传递给她),因为
标记是主浏览器窗口(ExtJS工作的地方)的一部分,而iframe内容是在其他窗口中执行的。请检查这个答案,我猜这就是您要查找的-