silverlight 关闭当前浏览器

在silverlight工程中添加"System.Windows.Browser"引用

在承载sl的页面(NamespaceTestPage.aspx或NamespaceTestPage.html)添加JS函数

<script type="text/javascript">
function CloseWindow() {

window.close();
}

</script>

在sl工程中调用JS函数

 HtmlPage.Window.Invoke("CloseWindow","");

至此,就可以完成页面的关闭了,而且会有关闭提示

如果想要取消这个提示怎么办呢,可以添加一条语句

<script type="text/javascript">
function CloseWindow() {
window.opener
= null;
window.close();
}

</script>

但是该语句仅在IE6有效,IE7,8就无效了,那我们再添加一条语句

<script type="text/javascript">
function CloseWindow() {
window.opener
= null; //只在IE6下有效,可以不提示关闭浏览器
window.open('', '_self'); //原理就是将_self(自身)设置为一个window.open的引用后,用window.close(),就可以关闭了!
window.close();
}

</script>

到此,就可以实现无提示关闭了,那么怎么样添加自己的提示呢,在sl中加一个if判断语句

if(HtmlPage.Window.Confirm("您确定关闭***?"))
{
HtmlPage.Window.Invoke(
"CloseWindow","");
}
如果大家有其他好的办法,欢迎留言
posted @ 2011-03-21 15:21  junyuz  阅读(3003)  评论(2编辑  收藏  举报