Открыть Flash Chart на IE 8 - PullRequest
       41

Открыть Flash Chart на IE 8

0 голосов
/ 20 сентября 2010

Я использую Open Flash Chart 2 для представления графиков и диаграмм на своем веб-сайте. Я пытаюсь загрузить данные JSON для диаграммы с той же страницы. Есть несколько способов сделать это.

  • Используйте свойство get-data диаграммы и передайте метод javascript, который возвращает json
  • Используйте метод open_flash_chart_data, который знает флэш-диаграмма для чтения данных из

Кажется, что все работает нормально на FireFox, Chrome и т. Д. Единственный браузер, у которого есть проблема, это IE (я использую IE 8)

Глядя немного в открытый исходный код, я обнаружил, что библиотека использует ExetrnalInterface для выполнения метода javascript, и хотя ExternalInterface кажется доступным, он возвращает ноль для любого выполнения метода в IE.

Кажется, что эта проблема уже известна сообществу разработчиков Flash, поэтому я попробовал несколько вещей (хотя есть некоторые решения, которые я не мог бы использовать в библиотеке - например, уникальный идентификатор для элемента embed. Библиотека генерирует она)

В заключение, я, вероятно, упускаю простое решение для моей проблемы.

Мой код:

Это вызов jquery для открытой флэш-диаграммы из javascript:

$('#myDiv').flash
(
    {
        src: ofc_swf,
        width: "400",
        height: "250",
        allowscriptaccess: "always",
        wmode: "transparent",                 
        flashvars: {"get-data": "getFlashJson"}                       
    },
    {
        version: 8
    }
);

И это метод javascript, который возвращает JSON-источник диаграммы:

function getFlashJson()
{
    var val = $("#myJson").val();
    return val;
}

Буду признателен за любую помощь в этом.

Спасибо

Ответы [ 2 ]

0 голосов
/ 10 мая 2011

У меня была эта проблема, и я нашел решение.

Удалите части флеш-кода из php-файла, в которых перед фильмом указан идентификатор ie_, а также измените код JavaScript SWFOBJECT на этот:

function findSWF(movieName) {
  if (navigator.appName.indexOf("Microsoft")!= -1) {
    return window[movieName];
  } else {
    return document[movieName];
  }
}
0 голосов
/ 08 ноября 2010

Попробуйте обновить swfobject.js: для меня версия 2.2 решила мои проблемы.

...