diff options
author | Andrew Dolgov <[email protected]> | 2009-06-17 11:16:44 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2009-06-17 11:16:44 +0400 |
commit | 95f67d2ebcb367bc5d06b802bdffb5642dac8f81 (patch) | |
tree | 92ea9f758d30936497a18db586b4109f236b9760 /functions.js | |
parent | 70c9b173145a9f3cb74f681afcc4dee9e1a2314d (diff) |
add support for HTML5 way of playing audio/video enclosures (closes #246)
Diffstat (limited to 'functions.js')
-rw-r--r-- | functions.js | 29 |
1 files changed, 29 insertions, 0 deletions
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')); + } + } +} |