2

我有一个在灯箱(top_up-min.js/modal)中打开 .flv 视频文件的网页。现在我正在尝试在灯箱中使用 JW 播放器 6 打开相同视频文件的 .mp4 版本。

我尝试的代码正在努力在灯箱 [jquery.jwbox.js] 中打开一个视频,并建议的代码打开一个隐藏的 div 作为灯箱。但我有以下问题

1.点击视频后,点击“关闭按钮”以外的任何地方,视频仍然关闭。在 IE 8 或更高版本中,即使关闭视频,您也可以听到音频。它仅在您刷新页面时停止。

是否有人已经在使用它对此有任何修复?

2.有没有其他jquery light可以用于JW播放器(mp4格式)

谢谢

<head id="Head1" runat="server">

<script type="text/javascript" src="js/jquery.js" ></script>
<script type="text/javascript" src="jwplayer/jwplayer.js" ></script>
<script type="text/javascript" src="/js/jquery.jwbox.js"></script>
<link rel="stylesheet" type="text/css" href="/css/jwbox.css" />
<script type="text/javascript">jwplayer.key = "key";</script>

<title></title>
<script type="text/javascript">
//this function i tried to close the video because the    existing jquery one 
closes  video even when u touch outside the box.but its throwing js error.

function fnClose() {       
       document.getElementById('jwbox_hidden').style.display = 'none';
       document.getElementById('jwbox_background').style.display = 'none';
       jwplayer().stop(true);
       return false;
   }
   function loadVideo(myFile,title) {
       document.getElementById("videoTitle").innerHTML = title;

       jwplayer("player").setup({              
           file: myFile,
           width: '640',
           height: '480',
           volume: 100,
           autostart: true,              
           primary: "flash"
       });
   }
    </script>   
 </head>
<body>
<p>
 Click the link to display a JW player with a video in the JW Box.


</p>
    <div class="jwbox">
         <ul> <li><a href="#" onclick="javascript:loadVideo('http://wpc.2A70.edgecastcdn.net/002A70/CareerVideos/45-2092.01.mp4','Nursery Workers');">Nursery Workers</a></li></ul>
         <ul> <li><a href="#" onclick="javascript:loadVideo('http://wpc.2A70.edgecastcdn.net/002A70/CareerVideos/15-1021.00.mp4','Computer Programmers');">Computer Programmers</a></li></ul>
         <ul> <li><a href="#" onclick="javascript:loadVideo('http://wpc.2A70.edgecastcdn.net/002A70/CareerVideos/39-9011.00.mp4','Child Care Workers');">Child Care Workers</a></li></ul>


  <div class="jwbox_hidden" id="jwbox_hidden">
     <div  class="jwbox_content">
     <label id="videoTitle" class="te_title">          </label>
      <a class="te_close_link" style="display: block;" onclick="fnClose();" ></a>
    <div id="player"></div>

    </div>
  </div>
  </div>
  <br />
  </body>
4

1 回答 1

2

我知道这可能不是您正在寻找的答案,但是当我测试它时它起作用了。我还没有找到问题的确切原因。这是一个 hacky 解决方法。

如果你查看 jwbox.js 有一个这样的 try catch 块:

            try {
            $.jwbox.player.sendEvent("STOP");
            $.jwbox.player = null;
        } catch (err) { }

我将您的 fnClose() 添加到 catch 块中:

            try {
            $.jwbox.player.sendEvent("STOP");
            $.jwbox.player = null;
        } catch (err) { fnClose() }

或者,这似乎执行得更快:

            try {
            fnClose();
            $.jwbox.player.sendEvent("STOP");
            $.jwbox.player = null;
        } catch (err) {  }

如果 sendEvent("STOP") 失败,至少会调用 fnClose() ,我相信这是问题的根源。

希望有帮助,对不起,这是我的第一个 StackOverflow 答案:) -Pablo

于 2013-10-10T18:25:23.643 回答