2

ライト ボックス (top_up-min.js/modal) で .flv ビデオ ファイルを開く Web ページがあります。今、ライト ボックスで JW プレーヤー 6 を使用して、同じビデオ ファイルの .mp4 バージョンを開こうとしています。

私が試したコードは、ライトボックス[jquery.jwbox.js]でビデオを開くように機能しており、提案されたコードは非表示のdivをライトボックスとして開きます.しかし、私は以下の問題があります

1.ビデオをクリックした後、「閉じるボタン」以外の場所をクリックすると、ビデオは閉じられます。IE 8 以降では、ビデオを閉じた後でもオーディオを聞くことができます。ページを更新したときにのみ停止します。

すでにこれを使用している人には、これに対する修正がありますか?

2.JWプレーヤー(mp4形式)に使用できる他のjqueryライトはありますか

ありがとう

<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

これはあなたが正確に探している答えではないかもしれませんが、私がテストしたところうまくいきました。問題の正確な原因は見つかりませんでした。これはハッキーな回避策です。

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 に答える