在ExtJS 5 MVC应用程序中打开浏览器窗口弹出窗口

时间:2015-01-14 20:46:39

标签: extjs extjs-mvc extjs5

我正在开发一个应用程序,我们在tabPanel中打开所有视图,这很简单。

现在我们有一个新的要求,我们必须在浏览器弹出窗口中打开视图,以便可以将其拖动到辅助监视器。 Ext.Window不起作用。

我们有一个单页应用程序,不知道如何在单独的浏览器窗口中打开视图。

我尝试过以下操作,但是新窗口上没有JS事件可用:

var OpenWindow = window.open('', windowName, 'width=330,height=200,resizable=0');
OpenWindow.document.body.appendChild(divObj);//divObj is a div object in which i rendered the extjs view.

它打开弹出窗口,但没有样式或js正在工作。

请帮助或指出完成它的一些例子。

提前致谢。

1 个答案:

答案 0 :(得分:0)

当打开一个新窗口时,它根本没有关于ExtJS的任何信息。你需要将extjs包含在新的windows html中。执行此操作的最佳方法是创建要调用的新popoup索引文件或页面。所以说你在extjs中正确使用路由器说你有一个名为http://testsite.com的网站 然后,您可以在打开的窗口中创建当前应用程序中的元素,以便在调用testsite.com/#popup时加载,然后将其放入window.open。如果您使用PHP之类的东西管理您的呼叫并使用路由框架,您可以以相同的方式设置它,并且也可以从中调用您的javascript和extj。

var OpenWindow = window.open('http://testsite.com/#popup', windowName, 'width=330,height=200,resizable=0');

建议创建一个这样的路由器:Extjs Routing Guide并从那里开始关注页面上的组件,如果没有使用后端系统,则将该URL放入弹出窗口。在后端链接中创建新路线是最好的方法,但您仍然需要将extjs应用程序组件调用到新页面中。