Javascript activex动态加载
我有以下问题: 我正在尝试使用dwf viewer应用程序,该应用程序由activex备份,该activex允许在安装插件时查看dwf文件 通常人们会这样使用这个插件:Javascript activex动态加载,javascript,activex,Javascript,Activex,我有以下问题: 我正在尝试使用dwf viewer应用程序,该应用程序由activex备份,该activex允许在安装插件时查看dwf文件 通常人们会这样使用这个插件: <object classid = "clsid:A662DA7E-CCB7-4743-B71A-D817F6D575DF" codebase = "http://www.autodesk.com/global/dwfviewer/installer/DwfViewerSetup.cab#version=6,0,0,200
<object
classid = "clsid:A662DA7E-CCB7-4743-B71A-D817F6D575DF"
codebase = "http://www.autodesk.com/global/dwfviewer/installer/DwfViewerSetup.cab#version=6,0,0,200"
ID = "Eview"
width = "500"
height = "500"
border="0"></object>
Eview.Viewer.ExecuteCommand("BLACKANDWHITE");
etc..
问题是,我现在正在服务器端的Iframe中创建对象:
<iframe id="dwfFrame" name="dwfFrame" src="plot.aspx" width="100%" height="100%" onload="initDWF()"/>
问题是在我的页面上,我无法进行Javascript调用,因为我没有对该对象的引用,我尝试将它们发布到Iframe,但它不起作用。像这样:
dwfViewer = document.dwfFrame;
dwfViewer.Viewer.ExecuteCommand("BLACKANDWHITE");
dwfViewer.ExecuteCommand("BLACKANDWHITE");
我认为这是因为iframe不是实例化的activex对象,我是否可以找到该对象以便处理它?试试:
var dwfFrameDoc = parent.dwfFrame.document;
var dwfViewer = dwfFrameDoc.getElementById('Eview');
我不会经常使用多个帧,但这就是您处理另一个帧的方式。所讨论的帧是否是iframe
,应该无关紧要。每个帧都有自己的窗口
对象。文档
是该对象的属性<代码>父级指当前窗口的父级
,如果它已经是顶层,则指它本身
document.dwfFrame
将获取id为dwfFrame的元素,该元素与iframe的窗口对象不同。即使是这样,也要执行dwfViewer.ExecuteCommand('BLACKANDWHITE')
将尝试调用ExecuteCommand
作为iframe窗口的方法,而不是查看器对象
var dwfFrameDoc = parent.dwfFrame.document;
var dwfViewer = dwfFrameDoc.getElementById('Eview');