Разрешить событиям мыши пузыриться надежно через хром-плеер youtube? - PullRequest
4 голосов
/ 30 марта 2011

Привет всем!

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

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
initialize="{go();}">
<mx:VBox>
  <mx:Label id="test" text=""/>
  <mx:SWFLoader source="http://www.youtube.com/apiplayer?version=3" />
</mx:VBox>
<mx:Script>
  <![CDATA[
    function go(){
    Security.allowDomain("*");
    Security.allowInsecureDomain("*");
    addEventListener(MouseEvent.MOUSE_MOVE,
                     function(e:MouseEvent){trace(test.text=e.stageX+"")});
    }
  ]]>
</mx:Script>
</mx:Application>

Ожидаемое поведение:

  • Загрузка проигрывателя Youtube
  • Метка навверху справа отслеживается координата X мыши
  • Число должно обновляться даже при наведении курсора мыши на проигрыватель Youtube

Пока программа работает, как и ожидалось, при запуске изIDE (протестировано как на FlashDevelop, так и на FlashBuilder) и даже при ручном запуске файла из выходной папки.Но, увы, когда я пытаюсь запустить его из в любом месте , кроме папки отладки (будь то в другом месте на моем компьютере или на веб-сервере), проигрыватель Youtube, кажется, поглощает события.

Я не получаю предупреждения безопасности песочницы при отладке (благодаря allowDomain ("*")), но у меня заканчиваются идеи о том, почему программа не работает после того, как вы вытащите файл из папки отладки .

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

1 Ответ

4 голосов
/ 14 апреля 2011

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

Сколько бы я ни пытался, с настройкой безопасности ничего не получилосьнастройки песочницы.Я даже перепробовал все возможные комбинации, но не играл в кости.

В отчаянии я фактически добавил слушателей мыши к свойству Loader.content после завершения загрузки.И это работало достаточно хорошо.

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

Надеюсь, это поможет кому-то другому получитьотклеиться в будущем!

...