Firefox, wmode и fscommand - PullRequest
       32

Firefox, wmode и fscommand

0 голосов
/ 29 марта 2009

Я использую SWFObject для вставки flash на мой сайт.

var so = new SWFObject("file.swf", "file", "100%", "100%", "8", "#FFFFFF");
so.addParam("wmode", "opaque");
so.addParam("allowscriptaccess", "always");
so.write(container);

Насколько я могу судить, это работает как чудо во всех браузерах, но я также использую fscommand из flash, и поэтому у меня есть функция:

function file_DoFSCommand(command, args) {
    alert("It works!");
}

И это также работает во всех браузерах, которые я тестировал, кроме Firefox в Windows, где не вызывается file_DoFSCommand (но отображается флэш-память). Firefox Mac и другие браузеры отображают "Это работает!" как и ожидалось. Очень странно. Если я удаляю «wmode», «opaque», он внезапно работает, но тогда мое меню css становится ниже Flash, так что это не вариант. wmode = прозрачный, кажется, ничего не меняет.

Установка so.addParam («allowcriptaccess», «never»); заставляет другие браузеры вести себя как FF на окнах, когда установлен wmode.

Любые предложения, почему FF не будет работать?

Ответы [ 2 ]

1 голос
/ 29 марта 2009

@Theo.T, спасибо за совет. Хотя это не решило мою проблему, но поиск того, как использовать ExternalInterface, привел меня к странице, где говорилось, что IE не будет принимать вызовы от flash, когда контейнер скрыт. Мой контейнер не был скрыт, но высота была установлена ​​на 0:

<div id="flashcontainer" style="height:0">

Установка высоты в 1 пиксель решила проблему, и теперь Firefox успешно принимает вызовы от Flash

0 голосов
/ 29 марта 2009

Во-первых, попробуйте использовать ExternalInterface вместо FSCommand (не рекомендуется). В SO уже много примеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...