我在使用jwplayers getDuration命令时遇到麻烦。我目前的最佳猜测是这可能是C#的javascript执行程序的翻译问题。谢谢大家。
这是失败的C#代码:
IJavaScriptExecutor executor = ( IJavaScriptExecutor )Driver;
executor.ExecuteScript( "jwplayer().seek(jwPlayer().getDuration());", "" );
这是可在Chrome控制台中使用的Javascript。
jwplayer().seek(jwPlayer().getDuration())
此代码有效。
executor.ExecuteScript( "jwplayer().seek(45);", "" );
此代码失败。
executor.ExecuteScript( "jwplayer().getDuration();", "" );
我收到的错误是:
unknown error: Runtime.evaluate threw exception: TypeError: Cannot read property 'click' of null
(会话信息:chrome = 35.0.1916.153)(驱动程序信息:chromedriver = 2.10.267521,平台= Windows NT 6.1 SP1 x86_64)
我不确定执行器的解释和返回是否有问题。
但是,我也遇到了一些问题,而试图让时间持续时间Jwplayer
,结果发现,如果你jwplayer().getDuration
正常工作仅在使用内部事件,如onReady
,onPlay
和onTime
。如果您尝试在播放器准备使用之外使用它,它将不会返回任何内容。
为了理解它是如何工作的,我创建了四个Jwplayer
带和不带events
和
你可以体验的行为在这里的
jsfiddle- http://jsfiddle.net/hiteshbhilai2010/6YyXH/20/
下面也是JSfiddle中使用的相同代码
jwplayer('player').setup({
file: 'http://video-js.zencoder.com/oceans-clip.mp4',
primary:'html5',
stretching: 'exactfit',
autostart: true,
});
jwplayer('player2').setup({
file: 'http://video-js.zencoder.com/oceans-clip.mp4',
primary:'html5',
stretching: 'exactfit',
autostart: true,
});
jwplayer('player3').setup({
file: 'http://video-js.zencoder.com/oceans-clip.mp4',
primary:'html5',
stretching: 'exactfit',
autostart: true,
});
jwplayer('player4').setup({
file: 'http://video-js.zencoder.com/oceans-clip.mp4',
primary:'html5',
stretching: 'exactfit',
autostart: true,
});
var time1 = jwplayer('player').getDuration();
$("#player_time1").text(time1);//wont show anything at all
jwplayer('player2').onReady(function(){
var time2 = jwplayer('player2').getDuration();
$("#player_time2").text(time2);//will show time duration as -1
});
jwplayer('player3').onPlay(function(){
var time3 = jwplayer('player3').getDuration();
$("#player_time3").text(time3);//will show time duration as -1
// but if click on play and pause it will show correct time
});
jwplayer('player4').onTime(function(){
var time4 = jwplayer('player4').getDuration();
var time45 = jwplayer('player4').getPosition()
$("#player_time4").text(time4);//it works
$("#player_time45").text(time45);//it works
});
希望它能提供一些有用的信息:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句