2011-12-19 4 views
1

Я разрабатываю приложение FB с использованием Flash, используя wmode = "direct" (для 3D-графики).Flash wmode = "direct" issue on FB canvas app

В Internet Explorer, каждый раз, когда я всплывающее окно любого диалога FB (например, Покупка Credits диалог), вспышка исчезает, когда диалог будет закрыт, вспышка не вновь появиться ...

Я пытался установить видимость после закрытия диалогового окна: http://developers.facebook.com/docs/appsonfacebook/tutorial/ (в разделе «Особые соображения для разработчиков Adobe Flash»), но это не сработало.

Я также попытался использовать FB.Init hideFlashCallback: http://developers.facebook.com/blog/post/555/ (в разделе «Определение видимости флэш объектов в Canvas приложениях»), но это, кажется, не вызывает функцию обратного вызова ...

У кого-то была такая же проблема и удалось заставить ее работать? Любые другие предложения?

P.S - Я использую swfobject для вставки SWF-файла.

Большое спасибо! Roei


UPDATE: Я удалил из параметров APPID из URL FB JS:

<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js#appId=XXXX&xfbml=1"></script> 

и теперь hideFlashCallback выполняется, но все же - вспышка не вновь появиться ...

ответ

0

Я обновил раздел Special Considerations for Adobe Flash developers, потому что фрагмент кода был немного устаревшим ,

Новый фрагмент должен дать вам представление о том, как использовать hideFlashCallback, чья семантика изменилась с того момента, когда теперь устаревшая запись в блоге, в том, что функция теперь принимает элемент flash в качестве аргумента. (К сожалению, мы еще не сделали его повторно, но скоро). Следует отметить, что обратный вызов в настоящее время не работает на IE8, но после того, как исправление вступит в следующий вторник.

При этом он должен работать без этого обратного вызова. Это может быть вызвано фатальным javascript, который останавливает выполнение сценария до повторного показа. Посмотрите на консоль javascript, чтобы увидеть, есть ли какие-либо ошибки.

В противном случае, если вы можете дать мне URL холста для вашего приложения, я могу изучить его.

+0

Привет, спасибо за ваш ответ! Он по-прежнему не работает, поэтому, чтобы убедиться в следующем шаге, я должен поместить весь код в функцию и установить его как «hideFlashCallback» на FB.init? – Roei

+0

На самом деле, похоже, что исправление IE будет вытеснено в среду, а не во вторник, из-за праздничного графика. –

+0

@Drew: У меня есть точная проблема, как Roei с «прямым» режимом, функция никогда не вызывается. Я проверил ошибки. Единственные ошибки, которые у меня возникают, - это проблемы с доменом на хроме, которые в соответствии с документами могут быть проигнорированы. Есть идея об этом. –

0

Вы пробовали это с другими wmodes? то, что вы можете попробовать, на самом деле удалить div, где вы пишете свою флешку, добавить ее с помощью innerHTML и снова запустить swfobject.embed

+0

Я должен использовать «прямой», чтобы запустить мое приложение для флеш-памяти. – Roei

+0

Если я снова запустил swfobject.embed, он будет перезапускать флэш с самого начала, поэтому он не будет делать то же самое, что повторно показывать его. – Roei