请问用C#写的activex如何调用主页面的JS函数呢? 为什么不采用 js去调 active 呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 想IE界面动态更新可以用JS定时调用Activex中的函数,来检查是否有新的数据传过来也行,但非常浪费资源我想当Activex通过Socket接收服务器传过来的数据时,才调用JS函数,更新页面已经找到解决办法了,测试成功了,可以通过Activex更新HTML中的控件,或者调用HTML中的JS函数增加浏览引用c:\windows\system32\SHDocVw.dll 增加.Net引用Microsoft.mshtml using mshtml; //获得所有ie进程。因为windows下资源窗口使用ie内核,所以不光是我们通常指的web浏览器,它还包括你打开我的电脑这样的窗口 SHDocVw.ShellWindows sws = new SHDocVw.ShellWindows(); //遍历所有IE进程 foreach (SHDocVw.InternetExplorer iw in sws) { //iw.LocationName是IE窗口标题,也就是当前想更改的页面<title></title>中的值 if (iw.LocationName == "我是title") { mshtml.HTMLDocument doc = (mshtml.HTMLDocument)iw.Document; //改变HTML控件中ID是b的值 (doc.getElementById("b")).innerHTML = "ActiveX改变HTML里控件的值"; //调用HTML中的JS函数change(a) string a = "ActiveX调用JS函数"; mshtml.IHTMLWindow2 win = (mshtml.IHTMLWindow2)doc.parentWindow; win.execScript("change('" + a + "')", "JavaScript"); } } 又遇到个问题在本机windows2003下可以运行,运行前要更改安全设置里的ActiveX选项但是在公司里的windowsXP下,改了选项,安全改得很低,也会出现"对象不支持此属性或方法"的提示请问是怎么回事呢? 关于jquery ui的tab DIV模拟循环展示效果的实现方法是什么? ???在iframe中怎样得到鼠标的位置,????????????? 用javascript控制table某几行显示隐藏造成的问题 如何得到客户分辨率的大小? 谁做过信息发布时文字排版的JAVASCRIPT,能否给我一个例子? 请教,在线等! 这段js代码,为什么在IE里面只能执行一遍? 2019 js知识点小结 layer.open弹出框如何放置一个时间控件? 请问如何用正则限制输入框只能为数字或一位小数? firefox下删除cookie无效
想IE界面动态更新可以用JS定时调用Activex中的函数,来检查是否有新的数据传过来也行,但非常浪费资源我想当Activex通过Socket接收服务器传过来的数据时,才调用JS函数,更新页面
已经找到解决办法了,测试成功了,可以通过Activex更新HTML中的控件,或者调用HTML中的JS函数
增加浏览引用c:\windows\system32\SHDocVw.dll
增加.Net引用Microsoft.mshtml
using mshtml; //获得所有ie进程。因为windows下资源窗口使用ie内核,所以不光是我们通常指的web浏览器,它还包括你打开我的电脑这样的窗口
SHDocVw.ShellWindows sws = new SHDocVw.ShellWindows(); //遍历所有IE进程
foreach (SHDocVw.InternetExplorer iw in sws)
{
//iw.LocationName是IE窗口标题,也就是当前想更改的页面<title></title>中的值
if (iw.LocationName == "我是title")
{
mshtml.HTMLDocument doc = (mshtml.HTMLDocument)iw.Document;
//改变HTML控件中ID是b的值
(doc.getElementById("b")).innerHTML = "ActiveX改变HTML里控件的值";
//调用HTML中的JS函数change(a)
string a = "ActiveX调用JS函数";
mshtml.IHTMLWindow2 win = (mshtml.IHTMLWindow2)doc.parentWindow;
win.execScript("change('" + a + "')", "JavaScript");
}
}
在本机windows2003下可以运行,运行前要更改安全设置里的ActiveX选项但是在公司里的windowsXP下,改了选项,安全改得很低,也会出现"对象不支持此属性或方法"的提示请问是怎么回事呢?