2012-01-23 5 views
1

Play's flash - это «механизм временного хранения, который хранится на время следующего запроса», используя файлы cookie.Можете ли вы прочитать флеш из javascript?

Можно ли читать флеш с javascript?

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

flash.put("notification", "You have been notified"); 

А потом мой main.js, чтобы проверить, если вспышка «уведомление» существует, и если он действительно показывает его выше (аналогично Stack Overflow механизм уведомления в).

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

Как я пишу этот вопрос, я на самом деле придумал способ реализовать это: я могу поместить скрытый div в основной шаблон, чтобы все мои представления расширялись и доступ к этому div из JS. Имеет ли это смысл? Есть ли более простой подход?

ответ

1

Я не думаю, что можно использовать JavaScript для чтения flash, даже через файл cookie. Этот файл cookie фактически зашифрован семенами безопасности (application.secret), настроенными в вашем приложении application.conf.

Однако возможно реализовать то, что вы хотите.

  1. Создайте ярлык для экспорта переменных Flash в объект Javascript.
  2. Вызовите этот тег на ваш взгляд.
  3. Ваш main.js использует эту открытую переменную, чтобы делать все, что захочет.
+0

Так вот что я описал, я сделаю в основном. Работает. – ripper234

0

Для меня у вас есть два решения

  1. По вашему мнению вызвать яваскрипт функцию со значением в качестве аргумента, то в JavaScript вы можете хранить его в объекте для последующего использования
  2. срабатывания вспышки cookie не зашифрован, это знак, поэтому вы можете его прочитать, но вы не можете изменить. Используйте инструмент, например, firebug, чтобы увидеть содержимое вашего флеш-файла.
Смежные вопросы