Просмотр полной версии : LoadVars не у всех срабатывет :(
agressive
04.05.2006, 12:13
Подскажите пожалуйся в чем может быть проблемма:
выводу данные из php во флэш так:
LoadV =function (link){
LV = new LoadVars();
LV.load(link);
_root.textboxclip.textbox.text="<Loading...</p>";
LV.onLoad = function(success) {
if (success) {
_root.textboxclip.textbox.text =this.text; }
else {_root.textboxclip.textbox.text = Error data loading";}
}}
link - это соответствующий файл php.
Так вот у меня во всех популярных браузерах данные передаются и отображаются, а вот у многих друзей выскакивает Error data loading.
Раньше думал, что возможно проблемма в шрифте (использую Arial Cyr), но во-первых - он встроен во флэшку (embed), а во-вторых - раз отображается хоть что-то (а именно Error data loading), значит дело не в шрифте видимо, тем более, что не отображаюся даже названия разделов на английском языке (например Connect).
Данные берутся из базы SQL и выводятся в формате utf-8_general_ci. По крайней мере, так написано в структуре таблицы из которой я беру данные.
Сами php файлы сохранены в формате ANSI
в первом кадре мува стоит System.useCodepage=true;
Пробовал сохранять их в UTF-8 и ставить System.useCodepage=false; - тоже самое.
Пробовал даже перед выводом делать принудительную конвертацию данных в utf-8:
echo iconv("CP1251", "utf8","<p align=\"right\"><font size=\"26\">Новости</font></p>");
Та же хрень, причем у меня как назло все и на нескольких компах работает.
Итог - сайт вроде бы готов и перелопатил я его уже по несколько раз, но результата так и не добился.
Подскажите как грамонто организовать передачу данных в связке SQL->PHP->FLASH + русские буквы?Где и в чем я не прав? Важно, чтобы данные отображались у всех, кто заходит на сайт, а не только у меня. Очень нужна помощь!!!!!! Искренне рассчитываю на кваллифицированный ответ. Заранее спасибо.
Буньков Максим
04.05.2006, 19:45
попробуй поюзать sendAndLoad
прикольная функция... А еще... php в utf-8 обязательно нуна...
ну тут я думаю еще ченить с безопасностью... флешка чем безопаснее тем противнее.
Если поставить System.useCodepage=true то тогда точно найдутся компы, которые покажут пользователю не то что хотелось бы, потому что не на всех машинах используется одна и та же системная кодовая страница. А Error data loading это не получен файл, то есть ответ от php, поэтому до шрифтов дело точно не доходит, тут возможно проблема действительно в безопастности, хотя не обязательно, причины по которым не приходит ответ могут быть разные, в некоторых случаях от версии плеера и от браузера зависить может, или даже просто время ожидания ответа привысило лимит.
Если я правельно понял,то с твоего компа флэшь загружает переменные,а с других нет.Потому что флэшь не серверный скрипт,он грузит из внешнего источника ЛЮБОЙ машины,у друзей этиф файлов нет,которые загружает флэшь.
agressive
04.05.2006, 23:50
dow, все файлы лежат на серваке и у меня и у доброй половины моих друзей работает, а одному другу дал ссылку, так у него постоянно error data Loading, он своим друзьям дал, и у них то же самое. Думаю может дело в каких нибудь настройках самого флэшплеера или я не правильно экспортирую ролик.
По поводу перевода php в utf-8 - пробовал сохранять их в UTF-8 и ставить System.useCodepage=false; - тоже самое, у меня пашет, хотя и не всегда корректно данные отображаются, а у друга - нет.
Максим, sendAndLoad не поможет, так как и ее в одном из разделов использую - ничего.
Короче факт в том, что данные не передаются у некоторых пользователей и причина пока не ясна. Жду Ваших предположений....
agressive
04.05.2006, 23:55
dow, сама технология такова, что флэш берет данные из php скриптов лежащих на серваке и уже ими оперирует. Предположение о том, что не работает ввиду отсутствия этих скриптов у каждого пользователя на локальном компе оправдалось бы, если бы не работало ни у кого кроме меня. А людей с работающим сайтом не мало, просто есть и такие у кого не работает а это уже плохо само по себе, так как сайт должен быть по максимуму универсален для всех.
Для этого надо попросить друга у которого не работает, помочь разобраться, потому как сложно чего-то понять, когда не видишь что происходит. И проблема как всегда оказывается банальной!
agressive
05.05.2006, 11:00
а как он может мне помочь, если он не шарит во флэше? Я к нему домой ездил и ничего так и не понял. В Mozilla FireFox почему-то заработало, в остальных Error data loading, а после того как я уехал и в FireFox то же самое Error data loading появилось. Кто нибудь знает что нибудь о безопастности флэш, может у него где-нить прописан запрет на обмен данными с флэшплеером? Жду Ваших предположений....
Проверь лог сервера. Для начала. Если нету обращения от твоего товарища, тогда запрос тормозиться у него.
у меня ощущение что действительно превышаеться время ожидания...
как со скорость у твоих друзей и каков объем передаваемых данных?
agressive
05.05.2006, 12:59
объем данных не очень большой до 500 символов, уж не знаю как это в байтах.......Error data loading выскакивает у него через сотую долю секунды, то есть сразу же после загрузуи сайта, так что дело наврядли в превышении времени ожидания, у него скорость 256 кбит/с (стрим)
гхм
а вот тут кавычку поставить?
:)
я конешно понимаю фигня
но кто их знает эти плееры
else {_root.textboxclip.textbox.text = "Error data loading";}
agressive
05.05.2006, 16:48
Кавычка не помогла, естесственно.........тут что-то посерьезнее.
есть предложение проверить настройки ie на компе у твоего друга
типа чем они от твоих отличаются
у меня пару раз глюки были с ASP
да и кхм
с безопасностью может быть связано
по какому порту все это дело передаетца?
agressive
05.05.2006, 19:04
я честно говоря понятия не имею по какому порту передаются данные........а по-поводй настроек IE, они наверное не при чем, потому что у него ни в одном из браузеров не работает. Файервола у него кстати тоже нет, ну если только брандмауэр встроенный в windows xp SP2.
Надо к нему было ехать с каким нибудь httptrace'ром.
И отслеживать все запросы и ответы.
agressive
05.05.2006, 21:28
Интерессное преложение..........
agressive
05.05.2006, 22:55
скачал http tracer а ка он работает не понял, может кто объяснит?
есть все таки подозрение что виноват брендмауэр виндовский
пропиши свой сервак, точнее его адрес во флеше в списке разрешенных узлов
в html в тэге object пропиши параметр:
<param name="allowScriptAccess" value="sameDomain" />
еще
так как флешка это все таки activeX объект то брендмауер может запрещать с него доступ к удаленному серверу именно из соображений безопасности
ну на сколько я понял флешка там же где и скрипт лежит те бренд мауэр не причём...
кстати а почему бы тексты по старинке через XML не попробовать грузить у меня ни когда траблов не было...
погоди Миксер
флешка в любому случае выполняеться на клиентской стороне
а вот скрипт не факт
кстати спрашивали ли уже о том где человек хостится?
нет + еще надо выяснить как скрипт работает
agressive
06.05.2006, 12:51
Отвечаю..........хостинг у меня - www.arbatek.ru
флэшка лежит там же где и скрипты, но в разных папках, пути прописаны корректно. у меня же работает :)
попроси чтоб твой корешь отключил брендмауэр нафиг
и проверить
Отвечаю..........хостинг у меня - www.arbatek.ru
флэшка лежит там же где и скрипты, но в разных папках, пути прописаны корректно. у меня же работает :) Так это вот кто шалил!
http://flasher.ru/forum/showthread.php?p=529763&posted=1#post529763
agressive
06.05.2006, 13:16
<param name="allowScriptAccess" value="sameDomain" /> не помогло
а в список разрешенных узлов добавил свой сайт?
agressive
06.05.2006, 13:26
по поводу скрипта
news.php
text=
<?
require("connect.inc.php");
$query = "SELECT id, head, short, full, DATE_FORMAT(date,'%d.%m.%y') as date FROM news ORDER BY date DESC";
$result = mysql_query($query);
echo "<p align=\"right\"><font size=\"26\">Новости</font></p>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
while($row = mysql_fetch_array($result)) :
echo "<p>";
echo "<b><font color=\"#990000\">".$row["date"]."</font></b> # ".$row["head"]."<br><font color=\"#990000\">----------------------------------------------------------------------</font><br>".$row["short"]."<br>";
echo "<br><a href=\"asfunction:_root.Linkage,".$row["id"]."\"><b><font color=\"#990000\">Подробнее...</font></b></a></p>";
echo "<br>";
endwhile;
mysql_close();
?>
Выводу так:
link="http://www.lunaticscale.ru/1/news.php";
LoadV =function (link){
LV = new LoadVars();
LV.load(link);
_root.textboxclip.textbox.text="<Loading...</p>";
LV.onLoad = function(success) {
if (success) {
_root.textboxclip.textbox.text =this.text; }
else {_root.textboxclip.textbox.text = Error data loading";}
}}
agressive
06.05.2006, 13:28
а где этот список разрешенных узлов?
System.security.allowDomain("www.shockwave.com");
в первом кадре
ну ессно свой пишешь
Да не, если на других компах работает, то глобал секюрити тут не причем иначе бы ни у кого не работало! Вресию плеера-то проверял? И что в логе сервера? Есть ли запрос от товарища?
2 Madasan
я б все равно написал, просто на всякий случай
мне все же кажеться виноват брендмауэр
который настроен по разному.....
Брандмауэр то по разному настроен, но алоу домаин это собственная безопасность флэша, и брандмауэр на нее влиять никак не может, он может только разрешить или запретить определенные действия данному приложению, а насколько мне известно, флэш встроенный в браузер пользуется именно его(браузера) услугами когда формирует запрос методом POST, потому что сам плеер формировать POST запросы не может.
да, но сам то браузер подчиняеться брендмауэру так?
и если он запрещает любые запросы от activeX приложения
то и браузер их не даст делать?
agressive
06.05.2006, 13:59
Kinsler ты просто гений.........я тебе безконечно признателен за помощь.
Для все, кто когда нибудь столкнется с подобным, лекарство:
в первый кадр мувика - System.security.allowDomain("url вашего сайта, причем с www и без www - это разные адреса");
В html или php, в общем туда где прописывается путь к вашей флэшке между тегами <object> вставляем <param name="allowScriptAccess" value="sameDomain"> и все должно заработать..........у меня заработало, всем спасибо!
хе-хе, <param name="allowScriptAccess" value="sameDomain"> это вообще по умолчанию даже флэшредактор вставляет когда html страницу генерит.
2Kinsler а брандмауэр про allowScriptAccess на вряд ли знает. :away:
2 Madasan
8-ка не вставляет автоматом этот параметр
брендмауеэр по идее все ддолжен знать про activeX объекты
2 Madasan
8-ка не вставляет автоматом этот параметр
брендмауеэр по идее все ддолжен знать про activeX объекты
бред, Madasan прав, брандмауеэр работает на уровне приложенией и портов, а ни как не с ActiveX (контентом). Раз разрешен 80 порт и http (https) значит на остальное он не влияет.
Что говорит сам Windows:
Брандмауеэр Windows бклокирует входящие сетевые подключения, исключая программы и службы...
гхм да, как то не подумал
тогда объясните мне как ему помогло то что я писал?
и почему у некоторых работало а у некоторых нет?
Шаманство :)
Но я серьезно. Такое может быть если используешь firewall (во многих компания админы блокируют определенный контент). Но если флеш загрузился и берет данные с того же урла... например если запретить слово sex или тип файла mp3, то грузится не будет.
Но создатель флешки может использовать корректные слова, а mp3 сменить на php :)
2 iNils
на самом деле мне кажеться что тоже шаманство
и вообще
с этой безопасностью
как то колдовства много появилось :)
Вот у нас случай был в точности наоборот. На некоторых компах LoadXML не срабатывало, и сразу заработало как только убрали соответствующую строчку <param name="allowScriptAccess" value="sameDomain"> Почему до сих пор не понятно. :wacko:
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.