这个人困扰了我很长一段时间,我仍然无法找到解决方案。
有没有人知道如何在jQuery Mobile开发的网站移动版本中动态调整视频尺寸(从youtube / vimeo等中嵌入)和图像。
我的方案是网站的移动版本从与主网站相同的数据库/表格中提取内容,其中图像和视频比手持设备应该大得多。有什么提示吗?
答案 0 :(得分:0)
不要混合图像和视频大小调整问题。 对于较小的流量和更快的负载移动站点,建议在服务器端(PHP / Python,C#等)进行映像调整大小。 视频可以在服务器端使用FFMpeg调整大小,如果来自外部托管(如youtube)的视频,则以最低质量开始播放。
答案 1 :(得分:0)
我写了这个函数:
/**
* resize_embedded resizes embedded videos like youtube videos;
* Examples:
* - resize_embedded($('youtube_div'), 300, 200);
* - Fiddle: http://jsfiddle.net/xjxVC/1
*
* Parameters:
* @param jquery the element that contains the embedded media
* @param number the new width
* @param number the new height
*
*/
function resize_embedded(){
// Did we receive 3 correct parameters
if(arguments.length === 3 && $(arguments[0]).length && isNumber(arguments[1]) && isNumber(arguments[2]))
;
else
return 0;
// Clone embedded element
$c = $(arguments[0]).clone();
// Resize clone (replace width/height of all children who have them)
$c
.attr('width', arguments[1])
.attr('height', arguments[2])
.children().each(function(){
$(this).attr('width') && $(this).attr('width', arguments[1]);
$(this).attr('height') && $(this).attr('height', arguments[2]);
})
// Replace target with clone
$(arguments[0]).replaceWith($c);
}
function isNumber(n){
return !isNaN(parseFloat(n)) && isFinite(n);
}