summaryrefslogtreecommitdiff
path: root/functions.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2009-06-17 11:16:44 +0400
committerAndrew Dolgov <[email protected]>2009-06-17 11:16:44 +0400
commit95f67d2ebcb367bc5d06b802bdffb5642dac8f81 (patch)
tree92ea9f758d30936497a18db586b4109f236b9760 /functions.js
parent70c9b173145a9f3cb74f681afcc4dee9e1a2314d (diff)
add support for HTML5 way of playing audio/video enclosures (closes #246)
Diffstat (limited to 'functions.js')
-rw-r--r--functions.js29
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 += "&hellip;";
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'));
+ }
+ }
+}