Videojs width()和height()方法返回错误

时间:2015-12-01 08:32:23

标签: javascript jquery methods video.js dimensions

我使用Videojs在弹出窗口中加载视频播放器。但是当我尝试使用width()和height()时,我收到了这个错误:

Chrome:Uncaught TypeError: this.el_.vjs_getProperty is not a function

IE11:SCRIPT438: L’objet ne gère pas la propriété ou la méthode « vjs_getProperty »

我用错了吗?

我的代码:

HTML部分

<body>
   <!-- hidden div -->
   <div id="dialog" style="display:none">
      <video id="player" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="auto" data-setup='{"techOrder": ["flash", "html5"]}'></video>
   </div>
   <div>
      <span>Category</span>
      <ul>
         <li><a href="#" class="video" id="video_id">Item 1</a></li>
      </ul>
   </div>
</body>

JS部分

$( window ).resize(function() {
    height = $(window).height() / 100 * 90;
    width = $(window).width() / 100 * 90;   
});

$("a.video").button().on("click", function() {
    var id = $(this).prop('id');
    var div_dialog = $('#dialog');

    var player = videojs('player');
    player.src({ type : "rtmp/mp4", src : "rtmp://server.com/vod/&mp4:foo/bar/" + id + ".mp4" });
    player.width( width - 135 );
    player.height( height - 150 );

    // display pop-up
    dialog.dialog("option", "title", $(this).text());
    dialog.dialog("option", "height", height );
    dialog.dialog("option", "width", width );
    dialog.dialog("open");
});

编辑: Jsfiddle https://jsfiddle.net/snabow/b37z92g5/ 我认为jQuery存在问题。当我把4行......:

    var player = videojs('player');
    player.src({ type : "video/mp4", src : "http://vjs.zencdn.net/v/oceans.mp4" });
    player.width( width - 135 );
    player.height( height - 150 );

...在$(function(){...}之外,它可以工作。

1 个答案:

答案 0 :(得分:0)

我最终找到了一种方法让它发挥作用,这是解决方案:

var player = videojs('player', {}, function(){
    // Modification de la source du player
    player.src({ type : "video/mp4", src : "http://vjs.zencdn.net/v/oceans.mp4" });
    // Modification de la taille du player
    player.width(width - 35);
    player.height(height - 50);
});

我认为videojs和jQuery ont width()和height()方法之间存在冲突。