FusionCharts + прототип Modalbox + Google Chrome = ошибка просмотра браузера - PullRequest
1 голос
/ 09 марта 2011

Я надеюсь, что кто-то может помочь пролить некоторый свет на основную проблему, вызвавшую ошибку, которую вы видите здесь:

enter image description here

Как вы видите, FusionChart неправильно накладываетсяв верхней части Modalbox, когда он открыт.Эта проблема возникает только в Google Chrome.Все остальные браузеры в порядке.

Есть идеи по поводу основной проблемы здесь?А что можно сделать?

Ответы [ 2 ]

2 голосов
/ 18 марта 2011

Когда Flash-объекты появляются поверх всех остальных HTML-элементов, это, скорее всего, потому, что для параметра «Режим окна» (wMode) фильма «Flash» установлено значение «window».

В FusionCharts можно установитьwMode двумя способами:

A.Использование .setTransparent() функции JavaScript

setTransparent(false) изменяет режим окна на «непрозрачный», что решает проблему появления FusionCharts поверх модальных окон и лайтбоксов.

setTransparent(true) также служит той же цели.Устанавливает wMode в «прозрачный».(Любое значение для wMode, за исключением «окна», сработает.)

Пример JavaScript:

var myChart = new FusionCharts( "FusionCharts/Column3D.swf", 
      "myChartId", "400", "300", "0", "1" );
  myChart.setXMLUrl("Data.xml");
  <strong>myChart.setTransparent(false); // set wMode to opaque</strong>
  myChart.render("chartContainer");

Начиная с FusionCharts 3.2, установка setTransparent(null) восстанавливает wMode в «окне», и выНЕ хотел бы сделать это для вашего случая!:)

B.Использование свойства wMode во время новой конструкции FusionCharts

Кроме того, поскольку FusionCharts 3.2 ввел метод конструирования в стиле объекта, значение wMode может быть предоставлено при выполнении самого new FusionCharts(...) путем предоставления wMode: 'opaque'

2 голосов
/ 17 марта 2011

В прошлый раз, когда я испортил наложение div поверх Flash (что здесь происходит), я мог заставить его работать на всех платформах, кроме Linux. Вы используете дистрибутив Linux? Если нет, то обычно добавление wmode = "transparent" для встраивания.

В противном случае единственное решение - установить .style.display = "none"; на FusionChart всякий раз, когда отображается Modalbox и .style.display = ""; когда Modalbox закрыт.

...