• 使用activeX时有条件加载activeX事件


    使用activeX时有条件加载activeX事件

       我们在使用ActiveX时一般会在页面中直接增加事件。如下例:

      1)调用语音TTS的ActiveX

    <script type="text/javascript" language="javascript">
           
    var VoiceObj = null;    //TTS object
           VoiceObj = new ActiveXObject('Sapi.SpVoice'); 
    </script>

      2)在页面底部增加语音ActiveX的播放完成事件。

        <script type="text/javascript" language="javascript">
            
    function VoiceObj::EndStream() 
            { 
                OldTtsCount
    --
            }
        
    </script>


       可是问题来了。用户使用带有ActiveX的页面时,会提示用户是否加载ActiveX。如果用户不加载ActiveX时,否则会报错。这时我们应当判断用户是否加载了ActiveX,并且,当用户加载了ActiveX后再增加ActiveX相关的事件。解决方法如下。

     1) 在加载时,通过捕获异常的方式来判断ActiveX的加载。

    <script type="text/javascript" language="javascript">
       
    var VoiceObj = null;    //TTS object    
        if( VoiceObj==null ){  
            
    try { 
                VoiceObj 
    = new ActiveXObject('Sapi.SpVoice'); 
            } 
    catch(err) { 
                VoiceObj
    =null
            } 
        }
    </script>


    2)判断ActiveX对象为空时,就不加载对象。

        <script type="text/javascript" language="javascript">
        
    var TTsFn = function(){    
            
    function VoiceObj::EndStream() 
            { 
                
    //运行其内内容
            }
        }
        
    if (VoiceObj != null) {       
            //加载ActiveX事件
            TTsFn();
        }
        
    </script>


  • 相关阅读:
    python 小兵(4)之文件操作 小问题
    python 小兵(4)之文件操作
    排序
    Java的数据结构
    基本数据操作
    部署tomcat到Linux
    找工作的一些知识积累
    BootStrap
    操作系统
    做Global Admin
  • 原文地址:https://www.cnblogs.com/scottckt/p/1851480.html
Copyright © 2020-2023  润新知