X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=www%2Fjssrc%2Flib%2Fblergmedia.js;h=8a91f3e980382a663c1ca585e0f0b296faeaddd5;hb=f52a8f9713f3695944257d179b7c418ee60062c7;hp=0528a9b196f615010ef1aaf0471590b3046e3184;hpb=4377f9e224f34c05e7a5de04f390bb2a0cabf6eb;p=blerg.git diff --git a/www/jssrc/lib/blergmedia.js b/www/jssrc/lib/blergmedia.js index 0528a9b..8a91f3e 100644 --- a/www/jssrc/lib/blergmedia.js +++ b/www/jssrc/lib/blergmedia.js @@ -3,7 +3,7 @@ var BlergMedia = { videoExtensions: [] }; -function media_init() { +BlergMedia.media_init = function() { var e = document.createElement('audio'); if (!!e.canPlayType) { BlergMedia.has_audio = true; @@ -19,6 +19,8 @@ function media_init() { BlergMedia.has_wav = true; BlergMedia.audioExtensions.push('wav'); } + BlergMedia.audioTypeRegex = new RegExp("audio:(" + BlergMedia.audioExtensions.join('|') + ")$"); + BlergMedia.audioExtensionRegex = new RegExp("\\.(" + BlergMedia.audioExtensions.join('|') + ")$"); } var e = document.createElement('video'); @@ -36,23 +38,43 @@ function media_init() { BlergMedia.has_webm = true; BlergMedia.videoExtensions.push('webm'); } + BlergMedia.videoTypeRegex = new RegExp("video:(" + BlergMedia.videoExtensions.join('|') + ")$"); + BlergMedia.videoExtensionRegex = new RegExp("\\.(" + BlergMedia.videoExtensions.join('|') + ")$"); } } -function play_audio() { +BlergMedia.play_audio = function() { var e = event.target.parentElement; var url = event.target.parentElement.href; - var audio_element = new Element('audio', {src: url, controls: 1, autoplay: 1}); - e.replace(audio_element); + var audio_element = document.createElement('audio'); + audio_element.src = url; + audio_element.controls = 1; + audio_element.autoplay = 1; + e.parentElement.replaceChild(audio_element, e); } -function play_video() { +BlergMedia.play_video = function() { var e = event.target.parentElement; var url = event.target.parentElement.href; - var p = new Element('p'); - var video_element = new Element('video', {src: url, controls: 1, autoplay: 1}); - p.insert(video_element); - e.replace(p); + var p = document.createElement('p'); + var video_element = document.createElement('video'); + video_element.src = url; + video_element.controls = 1; + video_element.autoplay = 1; + p.appendChild(video_element); + e.parentElement.replaceChild(video_element, e); } -window.addEventListener('load', media_init, false); +BlergMedia.process = function(data) { + if (BlergMedia.audioExtensionRegex.test(data.url) || + (data.extra && BlergMedia.audioTypeRegex.test(data.extra))) { + data.widget = ''; + } else if (BlergMedia.videoExtensionRegex.test(data.url) || + (data.extra && BlergMedia.videoTypeRegex.test(data.extra))) { + data.widget = ''; + } + + return data; +} + +window.addEventListener('load', BlergMedia.media_init, false);