返回介绍

在网页中引用控件

发布于 2023-08-09 23:10:35 字数 9133 浏览 0 评论 0 收藏 0

从我们网站首页下载 最新安装包,安装包大概有150M,是个rar自解压文件,里面包括了所有帮助文件、和所有语言调用的运行例子,最终用户使用发布包只有16M。界面如下:

html.png

下载CAD控件开发包,下载成功后安装文件如下:

下载.png

下载的文件是一个压缩文件,双击解压之后,以管理员身份运行“ RegMxDrawX.bat ”注册CAD控件到系统中,如果注册失败请退出360等杀毒软件,再运行RegMxDrawX.bat。界面如下:

管理员运行.png

控件注册成功后,会弹出注册成功弹框。界面如下:

注册成功.png

控件是个ocx,Id为 74A777F8-7A8F-4e7c-AF47-7074828086E2

Html中引用控件需要添加代码如下:

<SCRIPT language="JavaScript">
    document.oncontextmenu = new Function('event.returnValue=false;'); //禁用右键
function LoadMxDrawX(id,dwgfile,cabpath,msipath) {
    var s, classid, Sys = {}, ua = navigator.userAgent.toLowerCase();
    (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : (s = ua.match(/trident\/([\d.]+)/)) ? Sys.ie9 = s[1] : (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0,
    classid = "74A777F8-7A8F-4e7c-AF47-7074828086E2",

    Sys.ie || Sys.ie9 ? (document.write("<!-- 用来产生编辑状态的ActiveX控件的JS脚本-->   "),
    document.write("<!-- 因为微软的ActiveX新机制,需要一个外部引入的js-->   "),
    document.write('<object id="'+ id + '" classid="clsid:' + classid + '" '),
   //document.write('width="85%" height="85%" align="left">   '),
    document.write('codebase=" ' + cabpath + 'width="85%" height="85%" align="left">   '),
    document.write('<param name="_Version" value="65536">  '),
    document.write('<param name="_ExtentX" value="24262">  '),
    document.write('<param name="_ExtentY" value="16219">  '),
    document.write('<param name="_StockProps" value="0">'),
    document.write('<param name="DwgFilePath" value="' + dwgfile + '" > '),
    document.write('<param name="IsRuningAtIE" value="1">'),
    document.write('<param name="EnablePrintCmd" value="1">  '),
    document.write('<param name="ShowCommandWindow" value="1">   '),
    document.write('<param name="ShowToolBars" value="1">  '),
    document.write('<param name="ShowModelBar" value="1">'),
    document.write('<param name="Iniset" value="">  '),
    document.write('<param name="ToolBarFiles" value="">'),
    document.write('<param name="ShowMenuBar" value="1">'),
    document.write('<param name="EnableUndo" value="1">'),
    document.write('<param name="ShowPropertyWindow" value="1">'),
    document.write('<SPAN STYLE="color:red">不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置。请点击<a href=' + msipath + '>安装控件</a></SPAN>'),
    document.write('</object>')) :

    Sys.chrome ? (document.write('<object id="' + id + '" clsid="{' + classid + '}" '),
    document.write('type="application/mxdraw-activex" width="85%" height="85%" align="left"> '),
    document.write('<param name="_Version" value="65536">  '),
    document.write('<param name="_ExtentX" value="24262">  '),
    document.write('<param name="_ExtentY" value="16219">  '),
    document.write('<param name="_StockProps" value="0">'),
    document.write('<param name="DwgFilePath" value="' + dwgfile + '" > '),
    document.write('<param name="IsRuningAtIE" value="1">'),
    document.write('<param name="EnablePrintCmd" value="1">  '),
    document.write('<param name="ShowCommandWindow" value="1">   '),
    document.write('<param name="ShowToolBars" value="1">  '),
    document.write('<param name="ShowModelBar" value="1">'),
    document.write('<param name="Iniset" value="">  '),
    document.write('<param name="ToolBarFiles" value="">'),
    document.write('<param name="ShowMenuBar" value="1">'),
    document.write('<param name="EnableUndo" value="1">'),
    document.write('<param name="ShowPropertyWindow" value="1">'),
    document.write('<param name="Event_ImplementCommandEvent" value="DoCommandEventFunc">'),
    document.write('<SPAN STYLE="color:red">不能装载文档控件,谷歌浏览器使用,下载MxChrome安装包到本地,安装后点击桌面 Chrome企业版 快捷方式启动。请点击<a href=' + msipath + '>安装控件</a></SPAN>'),
    document.write('</object>')) :

    Sys.firefox ? (document.write("<!-- 需要安装ieTab插件才能使用-->   "),
    document.write("<!-- 右键弹出菜单,点击使用ieTab浏览> -->  "),
   
    document.write('<div class="no_title">  不能装载文档控件。1.请在安装ieTab插件,2.然后请点击<a href=' + msipath + '>安装控件</a>, 3.然后右键弹出菜单,点击使用ieTab浏览 </div> ')

    ) :
    Sys.opera ? alert("sorry,ntko 暂时不支持opera!") :
    Sys.safari && alert("sorry,ntko 暂时不支持safari!");
}


function isFireFox()
{
    var s, classid, Sys = {}, ua = navigator.userAgent.toLowerCase();
    (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : (s = ua.match(/trident\/([\d.]+)/)) ? Sys.ie9 = s[1] : (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;

    return  Sys.firefox;

}
</SCRIPT>

使用参考例子 samples\ie 引用CAD控件添加代码如下:

<script type="text/javascript">    LoadMxDrawX("MxDrawXCtrl", "", "http://www.mxdraw.com/MxDrawX52.CAB#version=8.0.0.1", "https://download.mxdraw3d.com:2083/MxChromex86Setup.exe");</script>
<script>

标记中各个部分的含义如下:

id=" MxDrawXCtrl "标识控件的JavaScript编程标识,通过document.all("MxDrawXCtrl ")即可得到对控件对象的引用。

clsid: 74A777F8-7A8F-4e7c-AF47-7074828086E2 标识控件的唯一标识。浏览器通过这个clsid来判断访问网页的客户机是否已经安装控件。

codebase="https://demo.mxdraw3d.com:3562/MxDrawX52.CAB#version=4.0.0.1"

在网页上自动安装CAB包,https://demo.mxdraw3d.com:3562/MxDrawX52.CAB是CAB包在服务器上的位置。version=4.0.0.1是控件版本号,如果这个版本号取的比文件属性中版本号低,则不会在ie中自动下载提示更新安装,如果比文件属性中的版本号高,则会总是提示更新安装。

这个版本号可以查看 mxdrawx.ocx 文件的属性得到,最新版已经升级到version=9.0.0.1,界面如下:

版本属性.png

参考例子目录:

src\MxDraw5.2\sample\ie

src\MxDraw5.2\sample\ie\iedemoTest.htm

src\MxDraw5.2\sample\JavaScript

https://demo.mxdraw3d.com:3562/iedemo.html

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文