1

我有一个 HTML 页面,它执行以下操作(按顺序):

  1. 显示静态 HTML 内容
  2. 使用 JavaScript 替换一些静态内容
  3. 使用 JavaScript 加载 ActiveX 组件

问题是步骤 2 总是在步骤 3 之后执行,即使显示 ActiveX 组件的代码在步骤 2 之后(加载 ActiveX 组件需要几秒钟)。最初,ActiveX 组件传统上是使用对象标记加载的,但为了解决问题,我将加载移至以下函数(在步骤 3 中执行):


function afterLoadActiveX(){
    var mainForm = document.forms['getupdates'];

    var activeXObject = document.createElement('object');
    activeXObject.setAttribute('id','webagent');
    activeXObject.setAttribute('classid','CLSID:53N50R3D-4246-65Z6-1234-44B989ECA335');
    activeXObject.setAttribute('height','1');
    activeXObject.setAttribute('width','1');
    activeXObject.setAttribute('align','baseline');

    document.body.appendChild(activeXObject);

}

我可以做些什么来使用 JS 更改内容,以便立即看到更改?afterLoadActiveX 在 body onload 方法中执行,改变内容的 JS(步骤 2)也在 body-onload 中执行,在此之前。

4

1 回答 1

0

您可以afterLoadActiveX()在更改 DOM 的函数末尾调用。

于 2009-07-24T09:13:30.963 回答