From 95f67d2ebcb367bc5d06b802bdffb5642dac8f81 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 17 Jun 2009 11:16:44 +0400 Subject: add support for HTML5 way of playing audio/video enclosures (closes #246) --- functions.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'functions.js') diff --git a/functions.js b/functions.js index 4aa5486a3..5c1b26a59 100644 --- a/functions.js +++ b/functions.js @@ -2133,3 +2133,32 @@ function truncate_string(s, length) { if (s.length > length) tmp += "…"; return tmp; } +function switchToFlash(e) { + var targ = e; + if (!e) var e = window.event; + if (e.target) targ = e.target; + else if (e.srcElement) targ = e.srcElement; + if (targ.nodeType == 3) // defeat Safari bug + targ = targ.parentNode; + + //targ is the link that was clicked + var audioTag=targ; + do { + audioTag=audioTag.previousSibling; + } while(audioTag && audioTag.nodeType != 1) + + var flashPlayer = audioTag.getElementsByTagName('div')[0]; + targ.parentNode.insertBefore(flashPlayer,targ); + targ.parentNode.removeChild(targ); + audioTag.parentNode.removeChild(audioTag); + + return false; +} +function html5AudioOrFlash(type) { + var audioTag = document.createElement('audio'); + if(! audioTag.canPlayType || audioTag.canPlayType(type)=="no"){ + if($('switchToFlashLink')){ + switchToFlash($('switchToFlashLink')); + } + } +} -- cgit v1.2.3-54-g00ecf