我正在尝试让一些javascript与activex控件对话。当这种方法起作用,并且JS可以获得控件状态时,我会收到一条特定的消息。如果不是,我会收到一条错误消息。
在IE7/8中,系统会提示你接受activex控件(通过警告栏),但在IE6中,js无法获取控件的状态。
我还尝试使用document.write从外部文件创建控件,以便页面加载后即可运行。该控件是不可见的,所以我不能仅仅通过查看页面来判断它是否正在加载。
如果你能帮忙我会很感激的。
发布于 2009-03-12 16:12:52
它很可能是始于IE7的ActiveX控件激活机制,但我认为应该在以后的service pack中删除它。对于控件开发人员和网页作者来说,这是一个很大的痛苦。
本文提供了一些背景知识和建议:http://msdn.microsoft.com/en-us/library/ms537508.aspx
发布于 2009-03-12 16:37:05
要在由于诉讼而禁用自动机制之后(或之前)激活IE中的控件,请在HTML中放置一个脚本标记,如下所示
<script src="control.js"></script>然后在网站的根目录中创建一个control.js文件,如下所示:(当然,你必须为你的控件和它的parms编辑脚本--但是你已经明白了)
document.write('<OBJECT align=left classid="CLSID:8BD21D30-EC42-11CE-9E0D-00AA006002F3" id=Customer style="HEIGHT: 23px; text-align:left; LEFT: 0px; TOP: 100px; WIDTH: 160px" tabIndex=4 width=75 onchange="NewCustomer" VIEWASTEXT>');
document.write('<param name="VariousPropertyBits" value="746604571">');
document.write('<param name="BackColor" value="2147483653">');
document.write('<param name="ForeColor" value="2147483656">');
document.write('<param name="MaxLength" value="0">');
document.write('<param name="BorderStyle" value="0">');
document.write('<param name="ScrollBars" value="0">');
document.write('<param name="DisplayStyle" value="3">');
document.write('<param name="MousePointer" value="0">');
document.write('<param name="Size" value="4233;609">');
document.write('<param name="PasswordChar" value="0">');
document.write('<param name="ListWidth" value="0">');
document.write('<param name="BoundColumn" value="1">');
document.write('<param name="TextColumn" value="65535">');
document.write('<param name="ColumnCount" value="1">');
document.write('<param name="ListRows" value="8">');
document.write('<param name="cColumnInfo" value="0">');
document.write('<param name="MatchEntry" value="1">');
document.write('<param name="ListStyle" value="0">');
document.write('<param name="ShowDropButtonWhen" value="2">');
document.write('<param name="ShowListWhen" value="1">');
document.write('<param name="DropButtonStyle" value="1">');
document.write('<param name="MultiSelect" value="0">');
document.write('<param name="Value" value>');
document.write('<param name="Caption" value>');
document.write('<param name="PicturePosition" value="458753">');
document.write('<param name="BorderColor" value="2147483654">');
document.write('<param name="SpecialEffect" value="2">');
document.write('<param name="Accelerator" value="0">');
document.write('<param name="GroupName" value>');
document.write('<param name="FontName" value="Arial">');
document.write('<param name="FontEffects" value="1073741824">');
document.write('<param name="FontHeight" value="165">');
document.write('<param name="FontOffset" value="0">');
document.write('<param name="FontCharSet" value="0">');
document.write('<param name="FontPitchAndFamily" value="2">');
document.write('<param name="ParagraphAlign" value="1">');
document.write('<param name="FontWeight" value="400">');
document.write('<param name="autoStart" value="-1"></object>');autoStart=-1是使其自动运行的导入参数(一旦安装)。您可能还想添加一个CODEPATH tpo,该对象指向要安装的control.CAB文件。(在我的情况下,我不需要这个)
https://stackoverflow.com/questions/639336
复制相似问题