activex与前台JS交互

来源:互联网 发布:2017年二季度经济数据 编辑:程序博客网 时间:2024/05/29 04:23

以下Demo演示如何在activex中与前台的js进行交互:

activex中:

        private mshtml.HTMLWindow2Class window = null;  //定义用于操作前台JS的对象

        public void SetPage(mshtml.HTMLWindow2Class jsFile)  //此方法需要在前台JS载入完成后调用        {            window = jsFile;  //赋值完成之后,window就是一个可以在后台操作的页面对象了        }

        private void button2_Click(object sender, EventArgs e)  //这是activex控件里面的一个button        {            string script = string.Format("testjs('{0}')",DateTime.Now.ToLongTimeString());  //测试调用JS的函数输出当前时间            window.execScript(script, "JavaScript");  //调用函数,第二个参数为脚本名称,这里填写“JavaScript”        }

前台:

<script type="text/javascript">    function testjs(obj) {  //这是后台要调用的函数        alert(obj);    }    function setpage() {        myocx.SetPage(this);  //将当前的页面对象传递给后台,即调用activex控件的SetPage方法    }</script>

<body onload="setpage()"> //onload后需要传递对象给后台<object id="myocx" classid="clsid:218849AF-1B2C-457B-ACD5-B42AC8D17EB7" height="200px" width="300px"> //activex控件</object></body>

测试结果:

在控件的button上单击后,出现以下messagebox


原创粉丝点击