我正在通过 jquery .load() 将一些内容(不是 HTML header 或任何内容,只是来自 PHP 的 HTML 格式的内容)加载到 div 中。
它适用于所有东西,除了一些基于 Flash 的 amCharts (www.amcharts.com),使用 swfObject 动态加载 amCharts PHP。该文件单独加载,可运行并加载 Flash 图表。当使用 .load() 加载时,文件似乎已加载,但脚本未执行且 swfObject 未制定。
现在,我不确定要在这里给你什么代码,所以我只是提供一些围绕它的东西......
因此,在主父级的 header 中是监听导航点击以加载内容的代码(这是我们的 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 通常会发生什么?
最佳答案
当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");
});
关于php - jQuery .load 不加载 swfobject 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3187410/