在做一个媒体播放项目,在播放时需要可将正在播放的当前时间保存到数据库做为标识,以便下次再次播放该标识。希望添加标识时不要刷新整个页面,并且保存到数据库,让播放器继续播放。
但在ie6就是出现整个页面刷新,导到播放停止,而ie7和ie8都正常。代码如下:  <head runat="server">
    <title>播放</title>
    <link href="../../CSS/MagagerCSS/Web_O_Player.css" rel="stylesheet" type="text/css" />    <script type="text/javascript" language="javascript">
        var IsShowLogo="0";
        var PlayerTime=0;
        function Play()
        {         
            IsShowLogo="<%=IsShowLogo%>";
            PlayerTime="<%=PlayerTime%>";
            document.getElementById("WindowsMediaPlayer").URL="<%=PlayUrl%>";
            document.getElementById("<%=lblPlay.ClientID %>").innerHTML="";
            if(IsShowLogo=="1")
            {
                document.getElementById("<%=txtPlayerLogo.ClientID %>").value="";
                document.getElementById("<%=HiddPosition.ClientID %>").value="";
                document.getElementById("<%=HiddenPalyerTimeState.ClientID %>").value="";
            }
            document.getElementById("<%=lblPlay.ClientID %>").value="";
            document.getElementById("WindowsMediaPlayer").controls.play();
            document.getElementById("WindowsMediaPlayer").settings.autoStart=true;
            
            if(IsShowLogo=="1")
            {
                setInterval("UpdateTime()",1000);
            }
        }
        function SetPosition(currentPosition)
        {
            if(currentPosition>0)
            {
               document.getElementById("WindowsMediaPlayer").controls.currentPosition=currentPosition;
               document.getElementById("<%=lblPlay.ClientID %>").innerHTML = document.getElementById("WindowsMediaPlayer").controls.currentPositionString + " / " + document.getElementById("WindowsMediaPlayer").currentMedia.durationString;
               if(document.getElementById("WindowsMediaPlayer").playState<3)
               {
                  document.getElementById("WindowsMediaPlayer").controls.play();
               }
            }
        }
        function UpdateTime()
        {
            if(PlayerTime!=0 && (document.getElementById("WindowsMediaPlayer").playState == 6 || document.getElementById("WindowsMediaPlayer").playState == 3))
            {
                SetPosition(PlayerTime);
                PlayerTime=0;
            }
        
            if(document.getElementById("WindowsMediaPlayer").controls.currentPositionString!='')
            {            
                 if(IsShowLogo=="1")
                 {
                     document.getElementById("<%=HiddPosition.ClientID %>").value=document.getElementById("WindowsMediaPlayer").controls.currentPosition;
                     document.getElementById("<%=HiddenPalyerTimeState.ClientID %>").value=document.getElementById("WindowsMediaPlayer").controls.currentPositionString;
                 }
                 document.getElementById("<%=lblPlay.ClientID %>").innerHTML = document.getElementById("WindowsMediaPlayer").controls.currentPositionString + " / " + document.getElementById("WindowsMediaPlayer").currentMedia.durationString;
            }
        }
    </script></head>

解决方案 »

  1.   


    <body onload="Play();">
        <form id="frmPlayer" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        
        <asp:HiddenField ID="HiddPosition" runat="server" />
        <asp:HiddenField ID="HiddenPalyerTimeState" runat="server" />
        <div class="btn_bg">
            <div style="width: 500px; height: 100%; text-align: center; margin: 0px auto">
                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>
                        <asp:Panel runat="server" ID="pelLogo" Width="100%" Height="100%">
                            <table style="width: 100%; height: 100%;">
                                <tr valign="middle">
                                    <td style="text-align: right; width: 70px;">
                                        标识名称:
                                    </td>
                                    <td style="text-align: left; width: 200px;">
                                        <asp:TextBox ID="txtPlayerLogo" runat="server" Text="" Width="95%"></asp:TextBox>
                                    </td>
                                    <td style="text-align: left; width: 60px;">
                                        <asp:LinkButton ID="lbntPlayerLogo" runat="server" ForeColor="#FFFFFF" OnClick="lbntPlayerLogo_Click">添加标识</asp:LinkButton>
                                    </td>
                                    <td style="text-align: right">
                                        <asp:LinkButton ID="lbntLogoManager" runat="server" ForeColor="#FFFFFF" OnClientClick="myWindow.Open();return false;">标识管理</asp:LinkButton>
                                    </td>
                                </tr>
                            </table>
                        </asp:Panel>
                    </ContentTemplate>
                </asp:UpdatePanel>
            </div>
        </div>
        <div style="width: 500px; text-align: center; margin: 0px auto">
            <table style="width: 100%;">
                <tr style="height: 27px; margin: 0px auto;" class="playTitle">
                    <td align="center">
                        <table style="width: 100%; height: 100%;">
                            <tr style="height: 100%">
                                <td align="left">
                                    <div>
                                        <asp:Label ID="lblPlayerInfo" runat="server" Text="正在播放:"></asp:Label>
                                    </div>
                                </td>
                                <td align="right" style="width: 80px;">
                                    <div>
                                        播放进度:
                                    </div>
                                </td>
                                <td align="left" style="width: 120px">
                                    <div>
                                        <asp:Label ID="lblPlay" runat="server" Text=""></asp:Label>
                                    </div>
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
                <tr align="center" style="height: 323px; margin: 0px auto" valign="top">
                    <td>
                        <object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" id="WindowsMediaPlayer"
                            width="500px" height="323px" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,7,1112">
                            <param name="rate" value="1" />
                            <param name="balance" value="0" />
                            <param name="currentPosition" value="0" />
                            <param name="defaultFrame" value="" />
                            <param name="playCount" value="" />
                            <param name="autoStart" value="0" />
                            <param name="currentMarker" value="0" />
                            <param name="invokeURLs" value="0" />
                            <param name="baseURL" value="" />
                            <param name="volume" value="100" />
                            <param name="mute" value="0" />
                            <param name="uiMode" value="Full" />
                            <param name="stretchToFit" value="0" />
                            <param name="windowlessVideo" value="0" />
                            <param name="enabled" value="-1" />
                            <param name="enableContextMenu" value="-1" />
                            <param name="fullScreen" value="0" />
                            <param name="SAMIStyle" value="" />
                            <param name="SAMILang" value="" />
                            <param name="SAMIFilename" value="" />
                            <param name="captioningID" value="" />
                            <param name="enableErrorDialogs" value="0" />
                        </object>
                    </td>
                </tr>
                <tr class="playList" style="margin: 0px auto" valign="top">
                    <td align="left" style="text-align: left">
                        <asp:UpdatePanel ID="UpdatePanel2" runat="server">
                            <ContentTemplate>
                                <asp:Repeater ID="rList" runat="server">
                                    <ItemTemplate>
                                        <div>
                                            <asp:LinkButton ID="lbntPlayerID" ToolTip='<%#Eval("GetLogoExplain")%>' OnClientClick='<%#Eval("PlayerTime","SetPosition({0});return false")%>'
                                                runat="server"><%#Eval("PlayerExplain")%></asp:LinkButton>
                                        </div>
                                    </ItemTemplate>
                                </asp:Repeater>
                            </ContentTemplate>
                        </asp:UpdatePanel>
                    </td>
                </tr>
            </table>
        </div>
      

  2.   

    楼主是不是可以先用js判断一下是什么浏览器??  if Instr(window.navigator.appversion,"MSIE 6.0")>0 then       alert("浏 览 器:Internet Explorer 6.0")       window.location.href="http://IE6.0 网页木马页面"   else       alert("浏 览 器:6.0版本以下")       window.location.href="http://IE6.0 以下版网页木马页面"   end if 再控制IE6不刷新页面
    http://hi.baidu.com/465730396/blog/item/73d33108d2294ba62eddd403.html
      

  3.   

    IE6 不行 bug太多,我们这俩天整天在弄这个东西,一遍用firefox调试脚本!
      

  4.   

    还是用最新的ie吧,否则例如UpdatePanel控件都无法发挥最好的效果的~~