activex與前臺JS交互

轉自:http://www.verydemo.com/demo_c98_i7826.html


以下Demo演示如何在activex中與前臺的js進行交互

activex中:


  1. private mshtml.HTMLWindow2Class window = null;  //定義用於操作<strong>前臺</strong>JS的對象  

  1. public void SetPage(mshtml.HTMLWindow2Class jsFile)  //此方法需要在<strong>前臺</strong>JS載入完成後調用  
  2. {  
  3.     window = jsFile;  //賦值完成之後,window就是一個可以在後臺操作的頁面對象了  
  4. }  

  1. private void button2_Click(object sender, EventArgs e)  //這是activex控件裏面的一個button  
  2. {  
  3.     string script = string.Format("testjs('{0}')",DateTime.Now.ToLongTimeString());  //測試調用JS的函數輸出當前時間  
  4.     window.execScript(script, "JavaScript");  //調用函數,第二個參數爲腳本名稱,這裏填寫“JavaScript”  
  5. }  

前臺


  1. <script type="text/javascript">  
  2.     function testjs(obj) {  //這是後臺要調用的函數  
  3.         alert(obj);  
  4.     }  
  5.     function setpage() {  
  6.         myocx.SetPage(this);  //將當前的頁面對象傳遞給後臺,即調用activex控件的SetPage方法  
  7.     }  
  8. </script>  


  1. <body onload="setpage()"> //onload後需要傳遞對象給後臺  
  2. <object id="myocx" classid="clsid:218849AF-1B2C-457B-ACD5-B42AC8D17EB7" height="200px" width="300px"> //activex控件  
  3. </object>  
  4. </body>  

測試結果:

在控件的button上單擊後,出現以下messagebox


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章