extjs 如何关闭当前整个网页
extjs如何关闭当前整个网页就如同JS中的window.close();的方法关闭的是当前的整个界面,而不是window,不是标签页等...
extjs 如何关闭当前整个网页 就如同JS中的window.close();的方法 关闭的是当前的整个界面,而不是window,不是标签页等
展开
3个回答
展开全部
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()">
例如:
有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()">
展开全部
如果是需要把所有extjs的组件关闭的话,你可以找到最底层的容器组件,比如viewport或者container。(跟实际情况有关),然后使用容器的destroy()方法,这样就可以关闭所有的组件了。希望能帮到你!
追问
你这个是销毁EXTJS的组件 但是我现在想实现的是关闭当前你正在使用的这个网页,整个网页。就像是在google浏览器按F12 进入console 输入window.close() 的效果是一样的
追答
我自己尝试了一下,发现只有通过用户点击或者javascript打开的新窗口才能使用window.close()关闭。w3school上的手册里这样解释:只有通过 JavaScript 代码打开的窗口才能够由 JavaScript 代码关闭。这阻止了恶意的脚本终止用户的浏览器。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
extjs是一个js框架,可以理解为,是js的扩充和完善,它本身就是js代码,那么你以前的js代码都可以在extjs使用。所以你的window.close()还是可以使用。
extjs没关闭浏览器的方法。
extjs没关闭浏览器的方法。
更多追问追答
追问
我开始也是这么认为的 但是很不幸 window.close()方法是关闭不了整个网页的 所以我才来问问有没有什么方法可以关闭整个网页的 Extjs中window.location.href这种属性都是好使的 但是window.close()方法不好使
追答
我上面给你纠正了下概念。
你的回应里面还是要纠正,window.location.href还是原生的javascript,这是超链接的意思。不是用了extjs框架,所有的都是extjs的了。
好了说你的需求
如果浏览器只打开了你的1网页,然后1网页里面打开2网页,能找到opener的,那么,还是可以关掉的。
但是浏览器如果开了一个百度标签页,再开了你的1网页,2网页标签页,是无法做到点击你自己网页里面的按钮将百度那个标签页关闭掉的。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询