JS在非IE内核的浏览器中如何调用Activex控件的方法

baobings 2014-08-11 11:41:14
做了一个Activex控件,在IE下可以正常使用
装了ffactivex-setup-r39.exe以后在Chrome 和firefox下可以显示界面,用JS无法调用Activex的方法

<body>
<form id="form1" runat="server">
<div>
<object id="Control"
TYPE="application/x-itst-activex"
ALIGN="baseline" BORDER="0"
WIDTH="95%"HEIGHT="600px"
clsid="{7D3E53BF-7AF9-4868-8163-59854D3062E2}">
</object>
</div>
<div id='div_hid'>
<asp:HiddenField ID="Hid_ProvincesXMLInfo" runat="server" />
</div>
</form>
</body>
</html>
<script>
var TestData = document.getElementById('TestDataActiveX');
var ProvincesXml = document.getElementById('Hid_ProvincesXMLInfo').value;
//alert(TestData);
alert(ProvincesXml);
var bool = TestData.SetProvincesConfigXML(ProvincesXml);
alert(bool);
if(!bool)
{
alert('服务器配置文件读取异常,请重试!');
}
</script>



JS在非IE内核的浏览器中如何调用Activex控件的方法?
...全文
16302 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
路人甲JIA 2016-07-12
  • 打赏
  • 举报
回复 1
楼主请赐教啊
xixi_tan 2016-03-16
  • 打赏
  • 举报
回复 1
楼主,问题解决了吗?求分享。
obewithyou1 2015-06-30
  • 打赏
  • 举报
回复 1
我也碰到了这个问题,不知道楼主解决了没有?求教
粗手摸大米 2014-10-20
  • 打赏
  • 举报
回复 1
引用 楼主 u010303143 的回复:
做了一个Activex控件,在IE下可以正常使用 装了ffactivex-setup-r39.exe以后在Chrome 和firefox下可以显示界面,用JS无法调用Activex的方法 <body> <form id="form1" runat="server"> <div> <object id="Control" TYPE="application/x-itst-activex" ALIGN="baseline" BORDER="0" WIDTH="95%"HEIGHT="600px" clsid="{7D3E53BF-7AF9-4868-8163-59854D3062E2}"> </object> </div> <div id='div_hid'> <asp:HiddenField ID="Hid_ProvincesXMLInfo" runat="server" /> </div> </form> </body> </html> <script> var TestData = document.getElementById('TestDataActiveX'); var ProvincesXml = document.getElementById('Hid_ProvincesXMLInfo').value; //alert(TestData); alert(ProvincesXml); var bool = TestData.SetProvincesConfigXML(ProvincesXml); alert(bool); if(!bool) { alert('服务器配置文件读取异常,请重试!'); } </script> JS在非IE内核的浏览器中如何调用Activex控件的方法?
我也碰到了这个问题,不知道楼主解决了没有?求教
baobings 2014-08-14
  • 打赏
  • 举报
回复 1
引用 8 楼 save4me 的回复:
如果你的页面的代码不是很多的话,能不能把你浏览器打开后网页的源代码贴出来了看一下。或者和ActiveX一起打包,这样大家可以下载下来测试 你的alert(ProvincesXml)路径是不是正确的? [quote=引用 7 楼 u010303143 的回复:] [quote=引用 6 楼 save4me 的回复:] 这里有一个例子,不知道有没有帮助 如何让点聚WebOffice在线编辑ActiveX插件兼容火狐、谷歌、IE各式浏览器
这个例子我也搜到 了 ,基本没什么帮助 ,不过还是谢谢您~ [/quote][/quote] 我觉得的不是我代码写的有问题,只是不知道在非IE浏览器下,用JS怎么和AciveX控件的属性和方法进行交互。 非IE内核的浏览器默认是不支持ActiveX控件显示的,可以在客户端装一个“”,安装后非IE内核也可以使用ActiveX控件,我测试了主流的8个浏览器,都可以,现在的问题是我需要用JS去和ActiveX交互,在非IE内核的浏览器中无法交互,在IE内核的浏览器里可以正常使用的
baobings 2014-08-14
  • 打赏
  • 举报
回复 1




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
	testActiveX
</title>
    <script type="text/javascript" language="javascript" src="JScript/jquery-1.8.0.min.js"></script> 

</head>
<body>
    <form name="form1" method="post" action="DemoMain.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGRgsBjUDOugfyTZr70CzHeA2sSqOg==" />
</div>
    <div id="divObject">
    </div>
    </form>
</body>
</html>
    <script type="text/javascript" language="javascript" src="JScript/JScriptMain.js"></script>  
JScriptMain.js:

var isIECore='';
if(!!window.ActiveXObject || "ActiveXObject" in window)
    isIECore=true;
else  
    isIECore=false;
if (isIECore) {
    //alert('IE');
    $('#divObject').append('<object id=\"TestDataActiveX\" classid=\"clsid:7D3E53BF-7AF9-4868-8163-59854D3062E2\" codebase=\"Resources/TestDataValidationTool.cab\" WIDTH=\"99%\" HEIGHT=\"600px\"></object> ');
}
else {
    //alert('Other');
    $('#divObject').append('<object id=\"TestDataActiveX\" TYPE=\"application/x-itst-activex\" ALIGN=\"baseline\" BORDER=\"0\" WIDTH=\"99%\" HEIGHT=\"600px\" clsid=\"{7D3E53BF-7AF9-4868-8163-59854D3062E2}\" progid=\"Resources/TestDataValidationTool.cab\"></object> ');
}
save4me 2014-08-14
  • 打赏
  • 举报
回复
如果你的页面的代码不是很多的话,能不能把你浏览器打开后网页的源代码贴出来了看一下。或者和ActiveX一起打包,这样大家可以下载下来测试 你的alert(ProvincesXml)路径是不是正确的?
引用 7 楼 u010303143 的回复:
[quote=引用 6 楼 save4me 的回复:] 这里有一个例子,不知道有没有帮助 如何让点聚WebOffice在线编辑ActiveX插件兼容火狐、谷歌、IE各式浏览器
这个例子我也搜到 了 ,基本没什么帮助 ,不过还是谢谢您~ [/quote]
baobings 2014-08-14
  • 打赏
  • 举报
回复
引用 6 楼 save4me 的回复:
这里有一个例子,不知道有没有帮助 如何让点聚WebOffice在线编辑ActiveX插件兼容火狐、谷歌、IE各式浏览器
这个例子我也搜到 了 ,基本没什么帮助 ,不过还是谢谢您~
save4me 2014-08-13
  • 打赏
  • 举报
回复
save4me 2014-08-13
  • 打赏
  • 举报
回复
下面的插件有没有安装? 火狐浏览器 axhost.r39.xpi 或者谷歌浏览器 chrome.r39.crx
引用 4 楼 u010303143 的回复:
让你发现了 哈哈 ,不过那只是个小细节,即使对了 ,也一样调用不到,我看了一个帖子,那个楼主可以在非IE浏览器下用JS响应ActiveX的事件的,只是写法不同,我觉得应该可以调用ActiveX的方法的,只是不知道应该怎么写。 http://bbs.csdn.net/topics/390674097?page=1
baobings 2014-08-13
  • 打赏
  • 举报
回复 1
引用 3 楼 save4me 的回复:
你的TestDataActiveX在哪里?
让你发现了 哈哈 ,不过那只是个小细节,即使对了 ,也一样调用不到,我看了一个帖子,那个楼主可以在非IE浏览器下用JS响应ActiveX的事件的,只是写法不同,我觉得应该可以调用ActiveX的方法的,只是不知道应该怎么写。 http://bbs.csdn.net/topics/390674097?page=1
save4me 2014-08-12
  • 打赏
  • 举报
回复 1
你的TestDataActiveX在哪里?
baobings 2014-08-12
  • 打赏
  • 举报
回复 1
单机了。。。
baobings 2014-08-11
  • 打赏
  • 举报
回复 1
大神都去吃饭了么

5,007

社区成员

发帖
与我相关
我的任务
社区描述
解读Web 标准、分析和讨论实际问题、推动网络标准化发展和跨浏览器开发进程,解决各种兼容性问题。
社区管理员
  • 跨浏览器开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧