我用了<Object>调用了内部 Vs2008的播放器 ,现在需要实现一个 老师播放视频同学的页面也播放,老师暂停的话同学页面也暂停 我现在实现的就剩下怎么从代码调用这段JS 代码 document.all.WMPlay.Play(); 这是一段让播放器播放的代码,所有的调用JS代码都试了, 如下:
         (1):
        //这个也可以,不调用播放 //document.all.WMPlay.Play();
        //Page.ClientScript.RegisterStartupScript(this.GetType(), "", "Play1()", true);
         (2):
        //这个可以调用 不走播放 //document.all.WMPlay.Play();
        //Response.Write("<script type='text/javascript'> function Play1() { alert('3')}; Play1();</script>");
         (3):
        //这个报错 行: 1 错误: 'document.all.WMPlay' 为空或不是对象
        //Response.Write("<script type='text/javascript'> function Play1() { document.all.WMPlay.Pla();};Play1();</script>");
         (4):
        //也能调用,就是不走播放 //document.all.WMPlay.Play();
        //Page.RegisterStartupScript("ggg", "<script>Play1(); </script>");
        // function Play1() {   
               // alert('1');
              //document.all.WMPlay.Play();
              //  alert('1');
        // }
求高手解释,我也试过这个
        //内部代码调用单机事件 单机事件调用Play1
       //Page.ClientScript.RegisterStartupScript(this.GetType(), "", "PlayShijian()", true);          JS调用单机事件
           function PlayShijian() {
                document.getElementById("kaishi").click();   
            } 
         页面 <a href="#" onclick="Play1()" id="kaishi">开始</a>
          JS代码播放
          // function Play1() {   
               // alert('1');
              //document.all.WMPlay.Play();
              //  alert('1');
        // }不然就得从新仍了,然后从新用别的控件弄了,只要能实现 老师播放视频同学的页面也播放,老师暂停的话同学页面也暂停
这个效果就行

解决方案 »

  1.   

    引用MSScriptControl
     MSScriptControl.ScriptControlClass scc = new MSScriptControl.ScriptControlClass();
    scc.Language = "javascript";
     scc.Eval(File.ReadAllText(js文件));
    执行的时候也调Eval方法.
      

  2.   

    引用MSScriptControl 报错缺少程序集
    我用的VS2008 也在 添加引用里面找 MsscriptControl没有,怎么这引用法
      

  3.   

    2楼说的很不详细,scc.Language = "javascript"; 引号里面写JS代码还是JS名字,
    scc.Eval(File.ReadAllText(js文件)); File报错,当前上下文不存在
      

  4.   

      <script language="javascript">
        function Play1() {
                    alert('1');
                    document.all.WMPlay.Play();
                    alert('2');
                }
    </script>
    我就想从代码里调用这个,但是1,和2都弹出框了,就是不实现中间那段代码,这段代码是让播放器,播放的意思,我不通过代码调用这个JS,就可以播放,一通过代码调用就不行
      

  5.   

    你可以采取Flash播放器实现,Flash里面是可以写ActionScript代码的,你把老师的操作发送到服务器,然后学生端请求服务器信息,来决定是暂停还是播放。这不是几句代码就能解决的
      

  6.   

    因为我对后台代码,调用JS不太清楚,
    为什么执行完这个句话
    document.all.WMPlay.Play(); 
    没有效果,1,2都弹框了
    有什么办法才能执行 //   function   Play1()   {       
                                  //   alert( '1 '); 
                                //document.all.WMPlay.Play(); 
                                //     alert( '2 '); 
                    //   } 
      

  7.   

    在你的页面那里的HTML源码里的<head>标签块里定义一个JS函数//预定义函数,下载用
    //参数你自己随意加减,记住这个函数要在<head>标签块里
    fuction Doingthing(mes,fileName)
    {
        //同意,则跳转
    document.all.WMPlay.Play();   
     }//后台调用
    this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MyFuction", "<script type=\"text/javascript\">Doingthing('"+"提示信息"+"','"+"文件名称+"');</script>", false);
      

  8.   


    //呵呵,我这里只是提供给你一种思路,而不是让你把代码直接粘贴上去
    这样吧,我再简化一点,让你自己看得明白,记住,我现在提供的是一种思路
    在你的页面那里的HTML源码里的<head>标签块里定义一个JS函数//预定义函数,下载用记住这个函数要在<head>标签块里//为了让你看明白,这回用个不带参数的函数,当然,如果你想带参数,如要播放的影片文件名什么的,可以自己加,只要在调用时记得传相应的参数就可以了
    fuction Doingthing()
    {
      //这里你可以写你自己想要的JS代码,包括调用另一个JS函数,如document.all.WMPlay.Play();  
      //我这里并没给出怎么播放你的影片的代码,因为我只看你的标题,你问的是怎么在.cs文件里调用JS函数,至于成功地调用这个JS函数后,你怎么播放影片,则你自己思考了 
     }//后台调用
    this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "YourFuction", "<script type=\"text/javascript\">Doingthing();</script>", false);//如果你想传参数,请自己拼凑好,这里是不传参数的
    //还有注意的是样只能调用<head>标签块里JS函数,如果你想调用<head>标签块以外的JS函数,比如放在</body>标签后的JS函数,我建议你这样: 同样是后台调用<head>标签块里的JS函数,而这个<head>标签块里的JS函数则设置好一个定时器,比如5秒钟后去调用</body>标签后的JS函数//因为JS函数在HTML页面上的位置是不区分的,<head>标签块里的JS函数允许调用</body>标签后的JS函数
      

  9.   

    谢谢楼上的,我目前已经有7,8中.cs调用js的代码了,都能用,就是不播放