jQuery .load不加载swfobject内容

时间:2010-07-06 15:01:47

标签: php jquery ajax swfobject

我正在通过jquery .load()将一些内容(不是HTML标题或任何内容,只是来自PHP的HTML格式的内容)加载到div中。

它完美适用于所有内容但是一些基于Flash的amCharts(www.amcharts.com)使用swfObject动态加载了amCharts PHP。单独加载的文件可以工作并加载Flash图表。当使用.load()加载时,文件似乎已加载,但脚本未执行且swfObject未执行。

现在,我不确定在这里给你的代码是什么,所以只是给它一些东西......

因此,在主要父级的标题中是监听导航点击以加载内容的代码(这是我们的amcharts): -

            $('a.leftNav').click(function() {
            page = $(this).attr('page');
            metID = $(this).attr('metID');

            if($("#mainRight").is(":visible")) { $('#mainRight').hide(200); }

            switch(page) {

            case 'metrics': $("#mainRight").load("content.php?load=mets", { metID: '5000227' }); break;

            }
            $('#mainRight').show(300);

        }); 

这样有效。加载正确的页面并执行PHP,如转到页面content.php?load = mets所证明的那样。 PHP生成的该页面上的代码是: -

<div class="amChart" id="chart_views_div">
图表加载......

这应该是交换的swfObject代码,我知道(我已经输出到生成PHP代码的文本文件)。

.load()和一般加载的swfObject和JS会发生什么?

2 个答案:

答案 0 :(得分:1)

jquery .load()完成时,你需要调用一个函数来初始化swfObject替换,因为我相信swfObject通常会在window.load上初始化。

类似的东西:

 $("#mainRight").load("content.php?load=mets", function() {
  // initialise swfObject here e.g.
  swfobject.embedSWF("myContent.swf", "chart_views_div", "300", "120", "9.0.0");
});

答案 1 :(得分:0)

Am Charts 仍然使用 swfobject 1.5

Swfobject 2.x提供了更多的IMHO amcharts应该更新以使用新版本。

2.x具有在这种情况下应该使用的createswf

相关问题