2010-07-06 56 views
2

我通过jquery .load()将一些内容(不是HTML头或任何东西,只是HTML格式的PHP内容)加载到div中。jQuery .load不加载swfobject内容

它的工作原理,完美的一切,但一些基于Flash的amCharts(www.amcharts.com)动态加载与amCharts PHP,使用swfObject。该文件单独加载,用于加载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会发生什么?

回答

1

你需要调用一个函数来初始化SwfObject的更换时jquery .load()已经完成,因为我相信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"); 
}); 
+0

听起来是正确的。但是,对于swfObject来说,函数是什么样的呢?我没有太多乐趣。 – waxical 2010-07-06 15:25:56

+0

上面加了一个例子 – robjmills 2010-07-06 15:30:47

+0

谢谢。不幸的是,我使用了一个amCharts PHP,它以自己的方式加载swfobject的特定版本。所以我可能会被搞砸。这是我可以在页面上运行,一旦加载 - 就像一个确保swfObject被加载的事件。这个.load()此时存在于正在加载content.php的父文档中。 – waxical 2010-07-06 15:37:39

0

难道图表仍然使用 swfobject的1.5

SwfObject的2.x中提供了更多的恕我直言amcharts应当更新使用新版本。

2.x has createdwf应该在这种情况下使用

相关问题