Внешний интерфейс Javascript на Flash Player не работает на CDN (Cloudfront) - PullRequest
1 голос
/ 05 октября 2010

У меня есть флеш-плеер с внешним интерфейсом javascript: reloadData () Я вызываю эту функцию через Javascript при редактировании информации на странице - в основном, чтобы синхронизировать данные на странице и в плеере.

Функция reloadData () прекрасно работает, когда игрок размещается локально. Когда мы перемещаем его в CDN (Amazon Cloudfront), проигрыватель успешно загружается, но внешний интерфейс javascript больше не работает - console.log (player) показывает следующее:

<object type=​"application/​x-shockwave-flash" data=​"[our_cloudfront_url].swf" width=​"920" height=​"404" id=​"player" style=​"visibility:​ visible;​ ">​

Uncaught TypeError: Object #<an HTMLObjectElement> has no method 'reloadData'

Я знаю, что многие вещи ведут себя по-разному при работе с элементами в CDN, но мне интересно, сталкивался ли кто-нибудь с подобной проблемой и нашел решение.

О, да ... мы используем CNAME для указания на распределение облачного фронта (buildid.ourdomain.net => distributionid.cloudfront.net)

1 Ответ

1 голос
/ 12 октября 2010

Ну, мы поняли это.Необходимы две вещи:

  1. На странице при встраивании SWF: allowScriptAccess = "Always"

  2. В самом SWF: System.security.allowDomain ("ourdomain.com")

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

...