+ -
当前位置:首页 → 问答吧 → firefox重新加载flash的问题

firefox重新加载flash的问题

时间:2010-09-01

来源:互联网

我的页面是几个标签页面,点击当前标签时隐藏其他标签的内容,每个标签内包含一个用javascript生成的flash图表。这些flash图表根据搜索的数据生成图表。

问题是,在ie中,如果当前标签的flash已经生成了,那我点其他标签之后再回来,那这个flash还在。而在firefox中,当我点击其他标签回来后,这个flash就刷新了,而因为这时候没有数据,自然加载数据错误。

请问如何让firefox不重新加载flash?

谢谢。

作者: zanyo   发布时间: 2010-09-01

代码………………

作者: WebAdvocate   发布时间: 2010-09-01

下面是加载flash的javascript代码,我用的是fusionchart图表工具。

HTML code
<div id="WorldWideTab1MainChart" align="center">Place to be placed by the chart</div>
<script language="JavaScript">
              var chart1 = new FusionCharts("./FusionCharts/MSColumnLine3D.swf", "WorldWideTab1MainChartId", "95%", "370", "0", "1");
              chart1.addParam("WMode", "Transparent");
              chart1.render("WorldWideTab1MainChart");
           </script>

作者: zanyo   发布时间: 2010-09-01

控制隐藏和显示的代码是什么?

作者: WebAdvocate   发布时间: 2010-09-01

引用 3 楼 webadvocate 的回复:

控制隐藏和显示的代码是什么?


JScript code
    getSWFHTML: function() {
        var swfNode = "";
        if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { 
            // netscape plugin architecture            
            swfNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'"  ';
            swfNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
            var params = this.getParams();
             for(var key in params){ swfNode += [key] +'="'+ params[key] +'" '; }
            var pairs = this.getVariablePairs().join("&");
             if (pairs.length > 0){ swfNode += 'flashvars="'+ pairs +'"'; }
            swfNode += '/>';
        } else { // PC IE            
            swfNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'">';
            swfNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />';
            var params = this.getParams();
            for(var key in params) {
             swfNode += '<param name="'+ key +'" value="'+ params[key] +'" />';
            }
            var pairs = this.getVariablePairs().join("&");            
            if(pairs.length > 0) {swfNode += '<param name="flashvars" value="'+ pairs +'" />';}
            swfNode += "</object>";
        }
        return swfNode;
    },

作者: zanyo   发布时间: 2010-09-01

引用 3 楼 webadvocate 的回复:

控制隐藏和显示的代码是什么?


下面是控制tab显示隐藏的代码,很简单。。。

JScript code
function showAreaTabs(name)
{
    if(name=="WorldWide")
    {
        document.getElementById("WorldWideTabs").style.display="block";    
        document.getElementById("ParisTabs").style.display="none";    
        document.getElementById("AsiaTabs").style.display="none";    
        document.getElementById("USTabs").style.display="none";    
    }
    else if(name=="Paris")
    {
        document.getElementById("WorldWideTabs").style.display="none";    
        document.getElementById("ParisTabs").style.display="block";    
        document.getElementById("AsiaTabs").style.display="none";    
        document.getElementById("USTabs").style.display="none";    
    }
    else if(name=="Asia")
    {
        document.getElementById("WorldWideTabs").style.display="none";    
        document.getElementById("ParisTabs").style.display="none";    
        document.getElementById("AsiaTabs").style.display="block";    
        document.getElementById("USTabs").style.display="none";    
    }
    else if(name=="US")
    {
        document.getElementById("WorldWideTabs").style.display="none";    
        document.getElementById("ParisTabs").style.display="none";    
        document.getElementById("AsiaTabs").style.display="none";    
        document.getElementById("USTabs").style.display="block";    
    }
}

作者: zanyo   发布时间: 2010-09-01