goodguy
14.04.2011, 14:49
Получаю необходимые данные от контакта и перенаправляю на свой сервак.
Вот метод делающий запрос к серверу:
private function getBalance():void {
if (!this._auth_key || !this._viewer_id) return;
var request:URLRequest = new URLRequest(Globals.FUNDS_URL);
request.method = URLRequestMethod.POST;
var variables:URLVariables = new URLVariables();
variables.auth_key = this._auth_key;
variables.viewer_id = this._viewer_id;
request.data = variables;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, onBalanceReturn, false, 0, true);
try {
loader.load(request);
} catch (e:Error) {
trace(e.message);
}
}
Все просто.
Но при запуске из контакте, выдает такую ошибку:
Error #2044: Необработанный securityError:. text=Error #2048: Нарушение изолированной среды: http://cs5699.vkontakte.ru/u5495786/ae7cea2f07bc49.zip?_stV= не может загрузить данные из http://warfarex.com/funds.php.
at vk::KontaktConnector/getBalance()[C:\Users\Konstantin\Flash\WarfareX\src\vk\KontaktConnector.as:66]
at vk::KontaktConnector()[C:\Users\Konstantin\Flash\WarfareX\src\vk\KontaktConnector.as:51]
at Setup/begin()[C:\Users\Konstantin\Flash\WarfareX\src\Setup.as:51]
at Setup()[C:\Users\Konstantin\Flash\WarfareX\src\Setup.as:35]
Суть понятна, нет разрешения. Но как его сделать? В корень сервера warfarex.com положил кроссдоменник, разрешающий доступ с любых доменов. Результат нулевой.
В конструкторе главного класса написал это:
Security.allowDomain("warfarex.com");
Security.loadPolicyFile(Globals.ROOT_URL + "crossdomain.xml");
Так же результат нулевой.
Раньше при загрузке другой swf использовал контекст загрузки:
var context:LoaderContext = new LoaderContext();
if (Security.sandboxType != 'localTrusted') context.securityDomain = SecurityDomain.currentDomain;
context.applicationDomain = ApplicationDomain.currentDomain;
и добавлял его как параметр к методу load() класса Loader. Но у URLLoader.load() такого параметра нет.
Как обойти эту проблему?
Добавлено через 24 минуты
Блин. Дело в кэше фаерфокса. Все хелпы перерыл, а оказалось все было нормально, просто грузился старый файл...
Вот метод делающий запрос к серверу:
private function getBalance():void {
if (!this._auth_key || !this._viewer_id) return;
var request:URLRequest = new URLRequest(Globals.FUNDS_URL);
request.method = URLRequestMethod.POST;
var variables:URLVariables = new URLVariables();
variables.auth_key = this._auth_key;
variables.viewer_id = this._viewer_id;
request.data = variables;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, onBalanceReturn, false, 0, true);
try {
loader.load(request);
} catch (e:Error) {
trace(e.message);
}
}
Все просто.
Но при запуске из контакте, выдает такую ошибку:
Error #2044: Необработанный securityError:. text=Error #2048: Нарушение изолированной среды: http://cs5699.vkontakte.ru/u5495786/ae7cea2f07bc49.zip?_stV= не может загрузить данные из http://warfarex.com/funds.php.
at vk::KontaktConnector/getBalance()[C:\Users\Konstantin\Flash\WarfareX\src\vk\KontaktConnector.as:66]
at vk::KontaktConnector()[C:\Users\Konstantin\Flash\WarfareX\src\vk\KontaktConnector.as:51]
at Setup/begin()[C:\Users\Konstantin\Flash\WarfareX\src\Setup.as:51]
at Setup()[C:\Users\Konstantin\Flash\WarfareX\src\Setup.as:35]
Суть понятна, нет разрешения. Но как его сделать? В корень сервера warfarex.com положил кроссдоменник, разрешающий доступ с любых доменов. Результат нулевой.
В конструкторе главного класса написал это:
Security.allowDomain("warfarex.com");
Security.loadPolicyFile(Globals.ROOT_URL + "crossdomain.xml");
Так же результат нулевой.
Раньше при загрузке другой swf использовал контекст загрузки:
var context:LoaderContext = new LoaderContext();
if (Security.sandboxType != 'localTrusted') context.securityDomain = SecurityDomain.currentDomain;
context.applicationDomain = ApplicationDomain.currentDomain;
и добавлял его как параметр к методу load() класса Loader. Но у URLLoader.load() такого параметра нет.
Как обойти эту проблему?
Добавлено через 24 минуты
Блин. Дело в кэше фаерфокса. Все хелпы перерыл, а оказалось все было нормально, просто грузился старый файл...