Журналирование на стороне клиента
Если вы хотите получить доступ к средствам отладки в браузере (а не в Flash Debugger), существует несколько вариантов.
Самый простой вариант - загрузить расширение браузера , и продолжаю использовать trace
.
Я выполняю кучу браузерных проверок, поэтому я использовал пользовательскую функцию log
в своем пакете Utils дляполучить доступ к консоли JS:
log.as
package com.zzzzbov.utils
{
import flash.external.ExternalInterface;
public function log(... args):void
{
CONFIG::DEBUG
{
trace(args);
if (loggingEnabled && ExternalInterface.available)
{
try
{
if (init === null)
{
init = ExternalInterface.call('eval', 'if(window.flashlog){false;}else{window.flashlog=function(){if(window.console&&console.log){if(console.log.apply){console.log.apply(console,arguments);}else{for(var i=0;i<arguments.length;i++){console.log(arguments[i]);}}}};true;}');
}
if (init)
{
var values:Array = new Array('flashlog');
ExternalInterface.call.apply(ExternalInterface, values.concat(args));
}
}
catch (e:Error)
{
//nothing really can be done
}
}
}
}
}
init.as
package com.zzzzbov.utils
{
internal var init:* = null;
}
loggingEnabled.as
package zfl.utils
{
internal var loggingEnabled:Boolean = true;
}
Естьмного вещей, которые можно улучшить, и несколько вещей, которые необходимы для использования этой функции.Вам нужно определить CONFIG :: DEBUG, кроме того, вы захотите добавить прослушиватель событий на сцену для Event.ACTIVATE
и Event.DEACTIVATE
, чтобы включить или выключить loggingEnabled
, чтобы предотвратить сбой флэш-памяти.Вам также нужно будет предоставить доступ к сценариям для флэш-видео.
Регистрация на стороне сервера
Если вы хотите регистрировать сообщения на сервере с помощью Flash, отправьте простой URL-запрос с помощьюURLLoader передает сообщение в качестве параметра серверному сценарию.Вызываемый сценарий регистрации должен быть написан на серверном языке, таком как PHP или ASP.NET.
Необходимо соблюдать осторожность при проверке подлинности запроса от Flash для предотвращения злонамеренного доступа (вы не захотитекто-то вводит некоторый исполняемый код в вашу файловую систему).