On Jul 1, 2013, at 10:18 AM, Yanick Champoux <yanick@babyl.dyndns.org> wrote:
On 13-06-30 02:51 AM, Mr. Puneet Kishor wrote:
but I need to set the correct mime type for the video. How do I do that with Dancer?
if you use 'send_file', Dancer will try to guess a decent miem type based on the file's extension.
If not, you can manipulate the content type via 'response->content_type( 'some/type' )'
I am going to reformulate my question. I have the following code -- In my browser <div id="content"></div> <script id="tmpl" type="text/x-handlebars-template"> {{{ text }}} </script> var tmpl = Handlebars.compile( $("#tmpl").html() ); $.ajax({ url : "/v/" + page, type : "GET", dataType: "json", error : function() { alert("Error loading html document"); }, success : function(res) { if (res == null) { return; } document.title = res.title; $("#content").html( tmpl( {text: res.text} ); ); } }); On my server get '/v/:page' => sub { my $page = param('page'); my ($title, $modified_on) = get_page($page); debug "sending back $uri"; my %tmpl_opts = ( title => $title, text => qq{ <video width="960" height="540" poster="path/to/movie.jpg" controls preload="auto"> <source type="video/mp4" src="path/to/movie.mp4" /> <source type="video/ogg" src="path/to/movie.ogv" /> <source type="video/webm" src="path/to/movie.webm" /> Sorry, your browser has no video playback capabilities </video> }, modified_on => $modified_on ); return to_json \%tmpl_opts; }; The above code works fine on all browsers on the desktop. However, on Safari on iPad the video is disabled. Dancer is running on Starman behind an Apache proxy. A static test page with the video code (no ajax, no JavaScript templates) served directly by Apache works fine even on Safari on iPad. What am I doing wrong, and how can I correct this? -- Puneet Kishor