Вопрос

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

  • Используйте свойство Get-Data из таблицы и передайте метод JavaScript, который возвращает JSON
  • Используйте метод Open_FLASH_CHART_DATA, который знает диаграмму Flash для чтения данных из

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

Немного выглядящим в открытом источнике, я обнаружил, что библиотека использует exetrnalinteriferface для выполнения метода JavaScript, и отличается экземпляром ExternalInterface, оно возвращается NULL для любого выполнения метода в IE.

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

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

Мой код:

Это jQuery Call на открытую флэш-диаграмму от 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;
}

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

Спасибо

Это было полезно?

Решение

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

Другие советы

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

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

function findSWF(movieName) {
  if (navigator.appName.indexOf("Microsoft")!= -1) {
    return window[movieName];
  } else {
    return document[movieName];
  }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top