响应式 Flash 视频,调整大小仅包装 div

Posted

技术标签:

【中文标题】响应式 Flash 视频,调整大小仅包装 div【英文标题】:Responsive flash video, resized only wrapping div 【发布时间】:2015-11-27 21:15:30 【问题描述】:

我已经阅读了一些关于 Flash 视频响应性的文章 (<object>-tag),但是当我尝试它时,视频没有调整大小,但视频的一半丢失了。对象标签的宽度和高度为 100%,但只调整了包装 div 的大小,而不是内容。

<div class="video row">
<object id="flash" class="video-flash" type="application/x-shockwave-flash" data="http://$domain->data.domainname/images/player_flv.swf"  >
<param name="movie" value="http://$domain->data.domainname/images/player_flv.swf" />
<param name="allowFullScreen" value="true" />
<param name="FlashVars" value="flv=$video&amp;showfullscreen=1&amp;title=$title&amp;autoload=if $autoload1else0/if&amp;if $autoplayautoplay=1&amp;/ifbgcolor=000000&amp;bgcolor1=430f26&amp;bgcolor2=200611&amp;playercolor=000000&amp;loadingcolor=ffffff&amp;buttoncolor=ffffff&amp;buttonovercolor=ffff00&amp;slidercolor1=430f26&amp;slidercolor2=200611&amp;sliderovercolor=ffff00&amp;showstop=1&amp;showvolume=1&amp;showtime=1if $picture&amp;startimage=$picture/if"/>
</object>

和js:

window.onresize = function (event) 
    var width = window.innerWidth;
    if (width < 540) 
    $('.video').css('width': '360px');
    $('.video').css('height': '180px');
    
    if (width < 480) 
    $('.video').css('width': '280px');
    $('.video').css('height': '140px');
    
;

【问题讨论】:

看来你的flash不接受调整大小 你能分享链接/演示,我们可以检查这个问题吗? 这是一个夜总会的网站,你可以在那里查看:sweetparadise.cz/cs/video 【参考方案1】:

我通过刷新/重新加载视频内容解决了这个问题。

    function refreshDialer() 
    //alert("In function");
    if (document.getElementById("flash")) 
    var container = document.getElementById("flash");

    var content = container.innerhtml;
    //alert(content);
    container.innerHTML = content;
    


window.onresize = function (event) 
    var width = window.innerWidth;
    if (width < 630) 
    $('iframe').css('width': '400px');
    $('iframe').css('height': '220px');
    
    if (width > 630) 
    $('iframe').css('width': '480px');
    $('iframe').css('height': '360px');

    $('.video').css('width': '480px');
    $('.video').css('height': '360px');
    refreshDialer();

    
    if (width < 540) 
    $('.video').css('width': '360px');
    $('.video').css('height': '180px');

    $('iframe').css('width': '360px');
    $('iframe').css('height': '180px');
    refreshDialer();
    
    if (width < 480) 
    $('.video').css('width': '280px');
    $('.video').css('height': '140px');

    $('iframe').css('width': '280px');
    $('iframe').css('height': '140px');
    refreshDialer();
    
;

【讨论】:

以上是关于响应式 Flash 视频,调整大小仅包装 div的主要内容,如果未能解决你的问题,请参考以下文章

如何设置包装 div 的高度以防止响应式滑块/自动收录器后内容跳转?

响应式设计:如何调整图像/背景图像的大小并垂直对齐 div?

响应式 HTML5 视频 - 在 iOS 中调整大小

在调整窗口大小之前,响应式 Highcharts 无法正确调整大小

mediaelement.js - 具有固定最大尺寸的响应式视频

响应式布局:调整 SVG 大小以填充其父级的剩余空间