silverlight中的javascript调用,关闭浏览器触发事件

添加标签

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2"
            width="100%" height="100%" id="MyApp">

在silverlight后台注册脚本对象

HtmlPage.RegisterScriptableObject("MyScriptObject", this);

在脚本对象里添加脚本成员,即silverlight方法

         [ScriptableMember]
         public string OnBeforeUnload()
         {
             IsolatedStorageSettings.ApplicationSettings.Remove("AgentWebLoginUser");
             IsolatedStorageSettings.ApplicationSettings.Remove("AgentWebLoginTime");
             return "";
         }

使用脚本对象来调用silverlight方法

  public MainPage()
  {
      InitializeComponent();
      RegisterOnBeforeUnload();
  }
  
   public void RegisterOnBeforeUnload()
   {
             const string scriptableObjectName = "MyScriptObject";
             string pluginName = "MyApp";
             HtmlPage.Window.Eval(string.Format(
                @"window.onbeforeunload = function () {{
                    var slApp = document.getElementById('{0}');
                    var result = slApp.Content.{1}.OnBeforeUnload();
                    return result;
                }}", pluginName, scriptableObjectName)
                 );
    }
Silverlight关闭浏览器 调用JavaScript中的onbeforehand事件

小结

以上的方法是在脚本中执行silverlight的脚本方法。若单纯的只想提示关闭silverlight的浏览器也可直接在脚本中写入

 <script type="text/javascript">
       function closeIt() {
            return "";
        }
        window.onbeforeunload = closeIt;
</script>

 

你可能感兴趣的:(silverlight中的javascript调用,关闭浏览器触发事件)