|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: May 2008
Сообщений: 102
|
Как определить доступность navigateToURL?
Основываясь на вот этой вот теме http://www.flasher.ru/forum/showthre...llowNetworking спрошу
Если allowNetworking="internal" запрещает 3 функции navigateToURL(), fscommand(), ExternalInterface.call(), то как на этом вот портале http://www.newgrounds.com/portal/view/530287 БЕЗ allowNetworking="internal" смогли запретить fscommand(), ExternalInterface.call(), а navigateToURL() при этом оставить - allowScriptAccess="never"? Допустим allowNetworking="internal" - как мне об этом в коде узнать? Делал как тут http://jaycsantos.com/flash/experime...er-is-enabled/ - ExternalInterface.call(null) - проверка работает, обрадовался, но потом увидел, что это не срабатывает с newgrounds.com - я так понял на этом портале allowScriptAccess="never" из всего этого вытекает мой самый главный вопрос - как проверить на доступность navigateToURL()??? так, чтобы не надо было делать ее вызов - иначе откроется окно левое, а это никому не нужно. Или как вызвать navigateToURL() для теста так, чтобы окна никакие не открывались? Последний раз редактировалось ekeeper; 14.03.2010 в 11:46. |
|
|||||
.
|
У кого-то в блоге честно подглядел идею.
package flash.utils { import flash.external.ExternalInterface; /** * @return true if allow networking * * @author Dimarik * @version 1.0 * @playerversion Flash 9 * @langversion 3.0 * * * @keyword allownetworking, externalinterface */ public function allowNetworking():Boolean { if (_reason) return _reason == 1; try { ExternalInterface.call(null); } catch (error:SecurityError) { _reason = 2; return false; } catch (error:Error) { // Error #2067: The ExternalInterface is not available in this container. // ExternalInterface requires Internet Explorer ActiveX, Firefox, // Mozilla 1.7.5 and greater, or other browsers that support NPRuntime. _reason = 3; return false; } _reason = 1; return true; } } /** * @private * Possible reason values * * 0 - Networking not yet checked * 1 - Allow networking * 2 - Deny networking by security reason. * 3 - No external interface found. Networking not possible. */ internal var _reason: uint = 0; |
|
|||||
[+]
|
Пример в случае
возвращает allowNetworking == false - но navigateToURL работает Последний раз редактировалось BAHUS; 14.04.2011 в 18:40. |
|
|||||
.
|
http://kb2.adobe.com/cps/164/tn_16494.html
When AllowScriptAccess is "never", the SWF file cannot communicate with any HTML page. Using this value is deprecated The flash.net.navigateToURL() function подпадает под него и The ExternalInterface.call() method тоже. "This value is deprecated", но поддерживается. Получается, что AllowScriptAccess = never имеет низкий приоритет перед AllowNetworking = all для navigateToURL(), но высокий для ExternalInterface. Я не знаю как разрешить этот парадокс. |
Часовой пояс GMT +4, время: 13:26. |
|
« Предыдущая тема | Следующая тема » |
|
|