поиск

Добавление папки с проектами в доверенную зону Flash Player

Намусорил: Юрий «Бармалей» Яровой
В категории: Flash, Flex 2

Если вы являетесь (не скажу, что счастливым) обладателем Flex Builder IDE, то эту статью вам читать не обязательно, поскольку с описываемой в ней проблемой вы не столкнетесь (хотя о том, почему не столкнетесь, вы сможете узнать только, если дочитаете ее до конца). Однако если вы сами собрали для себя среду разработки на основе Open Source редактора, вроде FlashDevelop, и бесплатной Flex SDK, то описываемые в статье манипуляции окажутся для вас весьма полезными.

Итак, в чем заключается проблема? Проблема заключается в том, что вы не сможете тестировать локально свои приложения, если их функционал выходит за рамки песочницы безопасности Flash Player. Допустим, вы разрабатываете какой-либо проект, в котором SWF-ролик должен взаимодействовать с JavaScript на странице посредством ExternalInterface либо загружать данные с удаленного домена. Flash Player расценивает подобные операции как потенциально опасные и попросту блокирует их. При этом он может даже ничего вам не сообщить. Поэтому человек, впервые столкнувшийся с подобной проблемой, может потратить большое количество времени на то, чтобы добраться, наконец, до ее истинных причин.

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

  1. Добавить папку в доверенную зону какого-то конкретного пользователя системы (User Flash Player Trust directory).
  2. Добавить папку в доверенную зону всех пользователей системы (Global Flash Player Trust directory).

Первый вариант довольно легко достигается посредством использования Setting Manager. Для этого переходим на специальную страницу менеджера настроек, в выпадающем списке «Edit locations…» выбираем пункт «Add location…» и указываем путь до SWF-ролика или папки с роликом.

Так же можно вручную создать файл SOMETHING.cfg (вместо SOMETHING написать все, что угодно), указать в нем доверенные директории или файлы и поместить этот файл в одну из следующих папок:

  • для пользователей Windows: C:\Documents and Settings\USER\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust\;
  • для пользователей Mac OS: /Users/USER/Library/Preferences/Macromedia/Flash Player/#Security/FlashPlayerTrust.

Вместо USER мы должны указать имя пользователя, для которого мы добавляем эти пути в доверенную зону. Синтаксис этого файла предельно прост — вы должны помнить всего два правила:

  1. Каждый новый путь к файлу или папке должен быть записан с новой строки.
  2. Комментарии помечаются символом решетки «#».

В качестве примера приведу содержимое файла C:\Documents and Settings\Yuri\Application Data\Macromedia\Flash Player\#Security\FlashPlayerTrust\FlashDevelop.cfg, который в настоящий момент находится у меня на компьютере:

CODE:
  1. # Добавляем директорию с проектами FlashDevelop,
  2. # в доверенную зону Flash Player.
  3. D:\Workspace_FD

Теперь поясню, почему пользователи Flex Builder никогда не столкнутся с описываемой в этой статье проблемой. Все дело в том, что в папке FlashPlayerTrust так же можно обнаружить файл flexbuilder.cfg, в котором Flex Builder совершенно таким же образом прописывает пути к своим папкам для хранения проектов. Поэтому все SWF-файлы, присутствующие в этих папках, автоматически попадают в доверенную зону.

Но что делать, если вы хотите добавить какой-либо локальный путь в доверенную зону всех пользователей текущего компьютера? Нужно точно таким же способом создать файл со списком доверяемых путей, но добавить его нужно уже в Global Flash Player Trust directory, действия которой будет распространяться на всех пользователей системы. Эта директория находится в следующих местах:

  • для пользователей Windows: C:\windows\system32\Macromed\Flash\FlashPlayerTrust;
  • для пользователей Mac OS: /Library/Application Support/Macromedia/FlashPlayerTrust.

На этом все. Кратчайшего вам дебага!



Kомментариев - 11 к «Добавление папки с проектами в доверенную зону Flash Player»

Alex Batsuev [29 октября, 2007 в 12:32]

Мы распостраняем волшебный батник ;-)

CODE:
  1. CLS
  2. ECHO OFF
  3. ECHO Registering AnyChart SWF Folder in FlashPlayer Security Trust Folder...
  4. ECHO %CD%> "%APPDATA%\Macromedia\Flash Player\#Security\FlashPlayerTrust\anychart%RANDOM%.cfg"
  5. ECHO Done. Please restart your Browser if it launched.
  6. PAUSE
  7. EXIT

Alex Batsuev [29 октября, 2007 в 12:46]

PS: ложим его в папку проекта и пускаем.

Юрий Яровой [29 октября, 2007 в 14:41]

Ловкий ход. Двойным щелчком по этому bat-файлу производится добавление директории, в которой он запускается в доверенную зону Flash Player. Обязательно возьму этот прием на вооружение. Кстати, а есть ли аналог bat-файлов для Mac OS, а как бы выглядело там его содержимое?

Alex Batsuev [29 октября, 2007 в 14:45]

Пока, к сожалению, нету.
Но думаю в течении месяца че нить сделаем =)

Alex Batsuev [29 октября, 2007 в 14:51]

Кстати, важный пункт:
Браузер надо объязательно перезапускать, если он открыт. Иначе начинается тупняк аля:
"Я все сделал, как описано, но ничего не работает".

Юрий Яровой [29 октября, 2007 в 15:21]

Представляю. =))

Demyan [30 октября, 2007 в 01:18]

Специально для тех, кто винды не держит.

CODE:
  1. #!/bin/bash
  2. FP_SEC=$HOME/.macromedia/Flash_Player/#Security/FlashPlayerTrust
  3.  
  4. FL_PROJECT_DIR="$PWD"
  5. if [ $1 ]
  6. then
  7.     if [ "$1" = "--help" ]
  8.         then
  9.         echo "Usage: `basename $0` /path-to-flash-project">&2
  10.         exit 0
  11.     else
  12.         if [ -d $1 ]
  13.         then FL_PROJECT_DIR=$1
  14.         else echo "$1 is not directory. Used $PWD"
  15.         fi
  16.     fi
  17. fi
  18. echo $FL_PROJECT_DIR> $FP_SEC/access$RANDOM.cfg
  19. echo "\"$FL_PROJECT_DIR\" now is Trusted"
  20. echo "You need to restart your browser!"
  21. exit

Я думаю на MacOSХ это тоже пускаемо, нужно только правильно указать "FP_SEC"

Юрий Яровой [30 октября, 2007 в 12:43]

Ну вот вроде и разобрались с остальными платформами. Спасибо, Demyan.

Philippe [23 ноября, 2007 в 11:16]

- close your web browsers
- open FD Files Panel
- navigate to project directory
- right click on any file
- select: Add To Trusted Paths
- enjoy

Юрий Яровой [23 ноября, 2007 в 12:55]

Philippe, thanks for your comment and your help! I don't know anything about this feature. :)

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

Philippe [23 ноября, 2007 в 13:15]

Я рад я вас помогал, Юрий ;)

Написать комментарий:

 

Bы можете использовать следующие теги для форматирования: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



User's collector

Внимание!
Эта опция станет доступной только после того как вы авторизуетесь.


 запомнить меня 
Я новый пользователь

На правах рекламы

Оптимизация сайта. Раскрутка сайта. Оптимизация сайта; Бассейны:сборные бассейны, качественное строительство бассейнов, проектирование сборных бассейнов.