setTimeout("playVideo('http://')",1000)

解决方案 »

  1.   

    找了一些资料,好像是与时间有点关系,目前还没有搞明白,按照mmcgzs(毛毛虫)的做法,好像在setTimeout中只能传静态文本,但我的url参数是动态产生的,我后来试着改成如下形式:function playVideo(url){
      window.setTimeout("play("+url+")",10000);
    }function play(url){
      var obj=document.all.myPlayer;
      obj.FileName=url;
      obj..AutoStart="True";
    }结果还是没反映,请问是什么原因?谢谢.
      

  2.   

    obj..AutoStart="True";
    是不是应该改成
      obj.AutoStart="True";
      

  3.   

    function playVideo(url){
      window.setTimeout("play('"+url+"')",10000);
    }
      

  4.   

    to: mmcgzs(毛毛虫),那个点是我在这里多写了,但在我程序里只有一个点.to:hbhbhbhbhb1021(),按你的写法还是没有反映,并且在play函数中用alert(url)根本不显示,
    感觉应该是window.setTimeout("play('"+url+"')",10000)一句有误.大家再帮帮忙....
      

  5.   

    window.setTimeout(new Function("play('"+url+"')"),10000)
      

  6.   

    现在贴出有关详细代码:a.htm:点击事件部分:
    <span id=divVideo1 style='cursor:hand' onclick='playVideo(\"aaa.asf\")'>视频一</span><span id=divVideo2 style='cursor:hand' onclick='playVideo(\"bbb.asf\")'>视频二</span>
    script 脚本部分:
    function playVideo(url){
     window.setTimeout("play('"+url+"')",10000);
    }function play(url){
     //alert(url);
     var obj=document.all.myPlayer;
     obj.FileName=url;
     obj.AutoStart="True";
    }
    //注:myPlayer为一视频播放器插件的ID号.大家帮助分析分析,谢谢...
      

  7.   

    hbhbhbhbhb1021()你的目前还是不行,后来,我改了一下代码:function play(url){
              theTimer=window.setTimeout(new function(){
              var obj=document.all.myPlayer;
              obj.FileName=url;
              obj.AutoStart="True";
             // alert("ab");
              },100000);
    }如果有那一句alert("ab");就可正常播放视频,注释掉它后就不播放视频,各我原先的结果一样....
      

  8.   

    你是想循环播放一段视频?
    var obj=document.all.myPlayer;//这部分是很不规范的语句
    你应该是采用的微软的播放插件,它的兼容性是不够好的,在非IE类浏览器上很多接口是无效的,就是在IE上可能不同的版本也会出现很多奇怪的问题。
    你测试的IE版本是?
    <span id=divVideo2 style='cursor:hand' onclick='playVideo(\"bbb.asf\")'>视频二</span>
    <!--语句中 id=divVideo2 这样的语句应该更规范,用引号包含id具体值-->
      

  9.   

    function play(url){
    theTimer=window.setTimeout(function(){ //这里去掉new 操作符试一试
    var obj=document.all.myPlayer;
    obj.FileName=url;
    obj.AutoStart="True";
    // alert("ab");
    },100000);
    }
    还有就是参考ms windows media player SDK,好像新版本的插件对象接口是有些变化的。
      

  10.   

    to: xdspower(杂食菜熊) :我是想循环播放一段视频,有alert("abc")一句是可以播放的.与IE版本应该关系不大,我主要用IE6,同事用IE5.5上述你的更改也不行...情况是这样的:我在a.htm文件中:点击事件部分:
    <span id=divVideo1 style='cursor:hand' onclick='playVideo(\"aaa.asf\")'>视频一</span><iframe id="ifrm" src="b.htm"..../>a.htm脚本:function playVideo(url){
     document.frames("ifrm").play(url);
    }
    b.htm文件:
    <object id="myPlayer" .../>b.htm脚本:
    function play(url){
      var obj=document.all.myPlayer;
      obj.FileName=url;
      obj.AutoStart="True";
      //alert("abc");
    }
    如果加上alert("abc"),视频能正常播放,去掉则不能播放,是什么原因呢?
      

  11.   

    标准的ms windows media player SDK9中,要实现你的要求,标准的方法是
    function play(url){
    var obj=document.all.myPlayer;//获取播放控件对象,这个存在兼容性问题
    if (obj.controls.isAvailable('Stop'))
        obj.controls.stop();//停止原有播放
    obj.settings.autoStart=true;//标准的设置自动播放
    obj.settings.setMode("loop",true);//设置循环播放
    obj.URL=url;//设置播放目标
    if (obj.controls.isAvailable('Play'))
       obj.controls.play();//播放开始
    }
    ================================================
    不过上面的代码在非IE上是肯定不能执行的,除了指明存在兼容性问题的地方,所有ms windows media player插件在非IE浏览器上都没有了二级对象模型接口调用了,即排除了那个兼容性问题后还存在
    obj.controls.play()
    obj.settings.setMode()等等都是无效的,只有
    obj.URL=url可以正确执行
      

  12.   

    再次建议你参考windows media player SDK文档,这个文档在ms 站点可以免费下载到的
      

  13.   

    采用了trade off的方式,solution problem.