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'));
+ }
+ }
+}
diff --git a/functions.php b/functions.php
index c89f11a13..6a8e85628 100644
--- a/functions.php
+++ b/functions.php
@@ -4692,11 +4692,21 @@
$entry = "";
- if (($ctype == __("audio/mpeg")) &&
- (get_pref($link, "ENABLE_FLASH_PLAYER")) ) {
-
- $entry .= " ";
-
+ if (substr($ctype,0,6)=="audio/" || $ctype=="application/ogg" || $ctype=="application/x-ogg") {
+ $entry .= "";
+ if (($ctype == __("audio/mpeg")) &&
+ (get_pref($link, "ENABLE_FLASH_PLAYER")) ) {
+ $entry .= "".__('Switch to Flash Player')."
";
+ $entry .= "";
+ }
+ } elseif (substr($ctype,0,6)=="video/") {
+ $entry .= "";
}
$entry .= "" .
@@ -5236,11 +5246,21 @@
$entry = "";
- if (($ctype == __("audio/mpeg")) &&
- (get_pref($link, "ENABLE_FLASH_PLAYER")) ) {
-
- $entry .= " ";
-
+ if (substr($ctype,0,6)=="audio/" || $ctype=="application/ogg" || $ctype=="application/x-ogg") {
+ $entry .= "";
+ if (($ctype == __("audio/mpeg")) &&
+ (get_pref($link, "ENABLE_FLASH_PLAYER")) ) {
+ $entry .= "".__('Switch to Flash Player')."
";
+ $entry .= "";
+ }
+ } elseif (substr($ctype,0,6)=="video/") {
+ $entry .= "";
}
$entry .= "" .
diff --git a/viewfeed.js b/viewfeed.js
index 6afc6c317..7e53467dc 100644
--- a/viewfeed.js
+++ b/viewfeed.js
@@ -275,8 +275,10 @@ function render_article(article) {
try {
fi.scrollTop = 0;
} catch (e) { };
-
+
fi.innerHTML = article;
+
+ article.evalScripts();
} catch (e) {
exception_error("render_article", e);