![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 5
|
На aspx-странице нeсколько флешек типа (многоточие - пропущенный код, не суть важен):
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="220" height="165" id="hclick_1"> <param name="FlashVars" value="imagepath=http://...4.jpg&noChange=1&..."></param> <param name="allowScriptAccess" value="sameDomain"></param> <param name="movie" value="/swf/clickSt.swf"></param> <param name="quality" value="high"></param> <param name="bgcolor" value="#ffffff"></param> <param name="wmode" value="transparent"></param> <embed src="/swf/clickSt.swf" quality="high" bgcolor="#ffffff" width="220" height="165" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent" name="hclick_1" FlashVars="imagepath=http://.../4.jpg&noChange=1&..."></embed> </object> В самом swf идет загрузка картинки в мувик и установка ч/б фильтра, если параметр noChange=1. Примерно так: if (!imgLoader) {var imgLoader:MovieClipLoader = new MovieClipLoader();}
var listener:Object = new Object();
listener.onLoadInit = function(target_mc:MovieClip):Void {
SetMonoColor(target_mc);
}
imgLoader.addListener(listener);
imgLoader.loadClip(picPath, cImgIn); // picPath == _root.imagepath, cImgIn:MovieClip
function SetMonoColor (mc:MovieClip) {
// readOnlyFlag == noChange
if (readOnlyFlag) {
var matrix:Array = new Array();
matrix = matrix.concat([0.25, 0.25, 0.25, 0.25, 0]);
matrix = matrix.concat([0.25, 0.25, 0.25, 0.25, 0]);
matrix = matrix.concat([0.25, 0.25, 0.25, 0.25, 0]);
matrix = matrix.concat([0, 0, 0, 1, 0]);
var filter:BitmapFilter = new ColorMatrixFilter(matrix);
mc.filters = new Array(filter);
}
}
У меня не локалхосте все работает как надо, бага замечена заказчиком. Передача/получение FlashVars проверено - все ок. Пытались добавить параметр к url, чтоб избежать кеширования, типа: /swf/clickSt.swf?a=<какой-нибудь GUID> - не помогло. Помогите пожалуйста! В чем может быть проблема?? У меня больше нет никаких идей...((( З.Ы. Извините, если пост отправлен не туда |
|
|||||
|
Modus ponens
|
Не смотря на путаницу в областях видимости, код должен работать. Проблема скорее всего с передачей параметров (флешварз) попробуйте еще раз проверить.
(В смысле, переменные из флешварз не появляются в руте мгновенно до выполнения кода, попробуйте проверять их наличие watch'ем или в onEnterFrame.)
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 5
|
Нет, переменные точно здесь не при чем. Если убрать проверку на readOnly (см. код ниже), ситуация остается прежней
![]() function SetMonoColor (mc:MovieClip) {
var matrix:Array = new Array();
matrix = matrix.concat([0.25, 0.25, 0.25, 0.25, 0]);
matrix = matrix.concat([0.25, 0.25, 0.25, 0.25, 0]);
matrix = matrix.concat([0.25, 0.25, 0.25, 0.25, 0]);
matrix = matrix.concat([0, 0, 0, 1, 0]);
var filter:BitmapFilter = new ColorMatrixFilter(matrix);
mc.filters = new Array(filter);
}
|
|
|||||
|
Modus ponens
|
import flash.filters.ColorMatrixFilter;
//
function SetMonoColor(mc:MovieClip) {
var matrix:Array = new Array();
matrix = matrix.concat([0.25, 0.25, 0.25, 0.25, 0]);
matrix = matrix.concat([0.25, 0.25, 0.25, 0.25, 0]);
matrix = matrix.concat([0.25, 0.25, 0.25, 0.25, 0]);
matrix = matrix.concat([0, 0, 0, 1, 0]);
var filter:ColorMatrixFilter = new ColorMatrixFilter(matrix);
mc.filters = new Array(filter);
getURL("javascript:alert('"+mc.filters.length+" : "+(mc.filters[0] instanceof ColorMatrixFilter)+"')");
}
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 5
|
Тест проведен на моей машине, результат весьма занятный:
- если обращаться к странице через http://localhost/..., то все ок, алерт возвращает 1:true - если обращаться к странице через http://<machine_name>/..., то все плохо и алерт возвращает undefined:false Это что, что-то секьюрное?? о_О |
|
|||||
|
Modus ponens
|
Версия плеера какая? Битмапфильтры только с 8-й поддерживаются... хотя, это не объясняет различного поведения в пределах одной страницы =/ вобщем, странное что-то.
ЗЫ. Вот, подумал. Грузится флешка или картинка? Если флешка - может в ней стОит System.security.allowDomain("*"); поставить =/
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 15.12.2007 в 00:02. |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|