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","");

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

silverlight 关闭当前浏览器

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

  
    
< 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 " , "" );
}
如果大家有其他好的办法,欢迎留言

你可能感兴趣的:(silverlight)