在ActiveX组件加载完成之前,使用JS动态更改HTML内容

时间:2009-07-24 08:53:08

标签: javascript time activex onload

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

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

    问题是步骤2总是在步骤3之后执行,即使在步骤2之后显示ActiveX组件的代码(并且加载ActiveX组件需要几秒钟)。最初,ActiveX组件传统上使用object标签加载,但为了解决问题,我将加载移动到以下函数(在步骤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中执行。

1 个答案:

答案 0 :(得分:0)

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