diff -r dfac630f82db -r 2d87a07fa3d0 src/js/libs/popcorn.mediafragment.js --- a/src/js/libs/popcorn.mediafragment.js Thu Nov 17 12:04:25 2011 +0100 +++ b/src/js/libs/popcorn.mediafragment.js Thu Nov 17 12:12:01 2011 +0100 @@ -4,8 +4,8 @@ /** * Mediafragment popcorn plug-in - * Adds (limited) support for mediafragment requests - * to a popcorn video. + * Adds (limited) support for mediafragment requests + * to a popcorn video. * @param {Object} options * **/ @@ -21,30 +21,34 @@ options: { } }, - + _setup: function( options ) { var advanceTime = function() { var url = window.location.href; - - if ( url.split("#")[1] != null ) { - pageoffset = url.split( "#" )[1]; - + + if ( url.split( "#" )[ 1 ] != null ) { + pageoffset = url.split( "#" )[1]; + if ( pageoffset.substring( 2 ) != null ) { - var offsettime = pageoffset.substring( 2 ); - this.currentTime(parseFloat(offsettime)); - } + var offsettime = pageoffset.substring( 2 ); + this.currentTime( parseFloat( offsettime ) ); + } } } - + var updateTime = function() { - splitArr = window.location.href.split("#") - history.replaceState({}, "", splitArr[0] + "#t=" + this.currentTime().toFixed(2)); + var history = window.history; + if ( !history.pushState ) { + return false; + } + + splitArr = window.location.href.split( "#" ) + history.replaceState( {}, "", splitArr[0] + "#t=" + this.currentTime().toFixed( 2 ) ); }; - - this.listen( 'loadedmetadata', advanceTime ); - this.listen("pause", updateTime); - this.listen("seeked", updateTime); - + + this.listen( "loadedmetadata", advanceTime ); + this.listen( "pause", updateTime ); + this.listen( "seeked", updateTime ); }, _teardown: function( options ) {