extjs 如何关闭当前整个网页
发布网友
发布时间:2022-04-27 09:05
我来回答
共3个回答
热心网友
时间:2022-04-24 23:19
Extjs中关闭整个页面需要用parent对象窗口打开的window对象。
例如:
有a,b两个页面,a页面为主页面,有按钮一个,点击按钮弹出一个windows对象,在其中显示b页面。b页面中也有一个按钮,点击关闭窗口。
a.htm (部分代码)
<script type="text/javascript">
function openWindow(id,title,url,width,height){
var win = Ext.get(id)
if (win) {
win.close();
return;
}
win = new Ext.Window({
id:id,
title:title,
layout:'fit',
width:width,
height:height,
closeAction:'close',
collapsible:true,
plain: false,
resizable: true,
html : ''
});
win.show();
}
function myfunction(){
openWindow('b-win','窗口中打开b页面','b.htm',400,300);
}
</script>
<input type="button" name="button1" value="打开窗口" onClick="myfunction()">
b.htm(部分代码)
<script type="text/javascript">
function closewin(){
var win = parent.Ext.getCmp('b-win');
if (win) {win.close();}
}
</script>
<input type="button" name="button1" value="关闭a打开的窗口" onClick="closewin()">
热心网友
时间:2022-04-25 00:37
如果是需要把所有extjs的组件关闭的话,你可以找到最底层的容器组件,比如viewport或者container。(跟实际情况有关),然后使用容器的destroy()方法,这样就可以关闭所有的组件了。希望能帮到你!追问你这个是销毁EXTJS的组件 但是我现在想实现的是关闭当前你正在使用的这个网页,整个网页。就像是在google浏览器按F12 进入console 输入window.close() 的效果是一样的
追答我自己尝试了一下,发现只有通过用户点击或者javascript打开的新窗口才能使用window.close()关闭。w3school上的手册里这样解释:只有通过 JavaScript 代码打开的窗口才能够由 JavaScript 代码关闭。这阻止了恶意的脚本终止用户的浏览器。
热心网友
时间:2022-04-25 02:11
extjs是一个js框架,可以理解为,是js的扩充和完善,它本身就是js代码,那么你以前的js代码都可以在extjs使用。所以你的window.close()还是可以使用。
extjs没关闭浏览器的方法。