【问题标题】:Toggle the SWFobject fallback manually=手动切换 SWFobject 回退=
【发布时间】:2012-12-04 08:59:01
【问题描述】:

我尝试创建一个页面以全尺寸显示 Flash 元素,但是当我在较小的屏幕上查看该网站时,我想触发回退。

这对我现在不起作用,因为浏览器支持 Flash。

我找不到手动切换回退的方法。

【问题讨论】:

    标签: flash swfobject


    【解决方案1】:

    无法手动触发回退,但如果不满足某些条件,您可以阻止 SWF 加载。在您的情况下,您说只有在视口满足指定的最小尺寸时才需要嵌入 SWF。

    如果您尝试在初始页面加载时加载 SWF,只需执行以下操作:

    //Viewport function based on 
    //http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/
    function GetViewportDimensions(){
    
        var de = document.documentElement,
            b = document.getElementsByTagName('body')[0],
            w = window.innerWidth || (de && de.clientWidth) ? de.clientWidth : b.clientWidth,
            h = window.innerHeight || (de && de.clientHeight) ? de.clientHeight : b.clientHeight;
    
        return { width: w, height: h };
    
    }
    
    swfobject.addDomLoadEvent(function(){
    
        var actualDimensions = GetViewportDimensions(),
            minimumWidth = 600,
            minimumHeight = 500;
    
        if(actualDimensions.width >= minimumWidth && actualDimensions.height >= minimumHeight){
            swfobject.embedSWF("mymovie.swf", "flashcontent", "550", "400", "9");
        } else {
            //do nothing, use fallback
        }
    
    });
    

    仅当视口足够大时,此代码才会尝试嵌入 SWF。如果 Flash 不存在,swfobject.embedSWF 将失败,您的后备内容将保留在原处。

    【讨论】:

      【解决方案2】:

      如果仅用于测试目的,您可以评论这一行:

      swfobject.embedSWF("main.swf?v=1", "flashcontent", "972", "1200", "10.1", "expressInstall.swf");
      

      使用 2 个正斜杠

      // swfobject.embedSWF("main.swf?v=1", "flashcontent", "972", "1200", "10.1", "expressInstall.swf");
      

      更新:

      if (swfobject.getQueryParamValue("noflash") != "true")
           swfobject.embedSWF("main.swf?v=1", "flashcontent", "972", "1200", "10.1", "expressInstall.swf");
      

      那么您可以使用新的 url 进行测试:

      www.yourwebsite.com/?noflash=true

      【讨论】:

      • 我在考虑实时站点。如果在小屏幕上查看该网站,但浏览器支持 Flash,我宁愿显示图像而不是 Flash。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多