jQuery .load не загружает содержимое swfobject - PullRequest
2 голосов
/ 06 июля 2010

Я загружаю некоторый контент (НЕ заголовки HTML или что-либо, только контент в формате HTML из PHP) через jquery .load () в div.

Работает, идеально для всего, НО некоторые amCharts на основе Flash (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 в целом?

Ответы [ 2 ]

1 голос
/ 06 июля 2010

Вам нужно вызвать функцию для инициализации замены 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 голосов
/ 06 сентября 2010

Am Charts все еще использует swfobject 1.5

Swfobject 2.x предлагает гораздо больше IMHO, которые должны обновляться, чтобы использовать новую версию.

2.x имеет createwf, который следует использовать в этом случае

...