Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.11.2007, 01:13
Antony_ вне форума Посмотреть профиль Отправить личное сообщение для Antony_ Найти все сообщения от Antony_
  № 1  
Ответить с цитированием
Antony_

Регистрация: Sep 2006
Сообщений: 11
По умолчанию Flash +AJAX

Бось ошибиться разделом. так что больно не бейте.
Поиск юзал, не нашел.

Итак, суть вопроса. совместное использование FLASH и асинронных запросов.

Есть html-ка

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="swfobject.js"></script> 
<script type="text/javascript">
function xHttp(url, content) {
var xRequest = window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : null)
xRequest.onreadystatechange = function() {
if (xRequest.readyState == 4 && xRequest.status == 200) {
document.getElementById(content).innerHTML = xRequest.responseText;
}
};
xRequest.open('GET', url, true);
xRequest.send(null);
return false;
}
</script>
</head>
<body>
<div id="about">Update your flash player</div>
	   	<script type="text/javascript">
		var so = new SWFObject("about.swf", "about", "130", "48", "8", "#ffffff");
		so.write("about");	
	</script>
<h3>Простой пример AJAX'a</h3>

<div id="Debug" style="padding: 1em; border: solid 1px red;">Debug</div>
</body>
</html>
*Скрипт в ней же сверху*

есть about.swf

Код:
on (press){
getURL("return xHttp('page2.html','Debug') ");
}
Но всё это не работает. При вызове через обычную ссылку
Код:
<a href="#" onclick="return xHttp('page2.html','Debug')">Загрузить</a>
Всё прекрасно работает. почему не работает через Swf

Кстати,есть еще вариации, вызов через:
Код:
on (press){
getURL("request('page2.html','Debug'); return false; ");
}
Это соответсвенно вызов другого скрипта, но он тоже рабочий через обычнуй ссыль,а через swf не пашет

Подскажите как быть?

Старый 16.11.2007, 11:45
vooparker вне форума Посмотреть профиль Отправить личное сообщение для vooparker Посетить домашнюю страницу vooparker Найти все сообщения от vooparker
  № 2  
Ответить с цитированием
vooparker
 
Аватар для vooparker

Регистрация: Apr 2006
Адрес: Kursk, Russia
Сообщений: 523
Отправить сообщение для vooparker с помощью ICQ
не совсем понятно зачем для асинхронных запросов AJAX использовать, когда можно тем же AS все решить.
Дальше:
Код:
getURL("return xHttp('page2.html','Debug') ");
попробуйте ввести строку в кавычках в адресную строку браузера и нажать Enter. =) Чтобы таким образом вызвать js надо указать javascript: вначале строки.
И последнее если появится необходимость переслать данные из js в as такой подход с getURL ничего не даст, так что мой совет почитать про ExternalInterface.
__________________
Челябинские флешеры настолько суровы, что пишут код во Flash IDE

Старый 16.11.2007, 13:28
Antony_ вне форума Посмотреть профиль Отправить личное сообщение для Antony_ Найти все сообщения от Antony_
  № 3  
Ответить с цитированием
Antony_

Регистрация: Sep 2006
Сообщений: 11
Прошу прощения, прокасячил с копированием )

Код:
getURL("javascript: return xHttp('page2.html','Debug') ");
Про ExternalInterface, почитал (поиском я точно пользовался =) )
Пытался сделать, но опять же наверное не правильно.

Код:
import flash.external.ExternalInterface;
ExternalInterface.call( 'xHttp', 'page2.html', 'Debug');

Если не сложно поправте или просто напишите как правильно.

Цитата:
не совсем понятно зачем для асинхронных запросов AJAX использовать, когда можно тем же AS все решить.
Просто в AJAX я вроде как разобрался (вроде как - ключевое слово =) )
И это всё стало работать через через ссылку а через swf невкакую

Старый 16.11.2007, 13:41
vooparker вне форума Посмотреть профиль Отправить личное сообщение для vooparker Посетить домашнюю страницу vooparker Найти все сообщения от vooparker
  № 4  
Ответить с цитированием
vooparker
 
Аватар для vooparker

Регистрация: Apr 2006
Адрес: Kursk, Russia
Сообщений: 523
Отправить сообщение для vooparker с помощью ICQ
а js вообще вызывается из swf?
__________________
Челябинские флешеры настолько суровы, что пишут код во Flash IDE

Старый 16.11.2007, 13:44
Antony_ вне форума Посмотреть профиль Отправить личное сообщение для Antony_ Найти все сообщения от Antony_
  № 5  
Ответить с цитированием
Antony_

Регистрация: Sep 2006
Сообщений: 11
Конечно. В этом нет проблемы Дело в том. что видимо не проходит
Код:
return false;
а вот это как раз и нужно....

Старый 16.11.2007, 13:51
vooparker вне форума Посмотреть профиль Отправить личное сообщение для vooparker Посетить домашнюю страницу vooparker Найти все сообщения от vooparker
  № 6  
Ответить с цитированием
vooparker
 
Аватар для vooparker

Регистрация: Apr 2006
Адрес: Kursk, Russia
Сообщений: 523
Отправить сообщение для vooparker с помощью ICQ
попробуйте так:
Код:
var result:Boolean = ExternalInterface.call("function () {return true;}");
и посмотрите result
__________________
Челябинские флешеры настолько суровы, что пишут код во Flash IDE

Старый 16.11.2007, 13:59
Antony_ вне форума Посмотреть профиль Отправить личное сообщение для Antony_ Найти все сообщения от Antony_
  № 7  
Ответить с цитированием
Antony_

Регистрация: Sep 2006
Сообщений: 11
Это работает.
Мне нужно вызывать вот такую строчку
Код:
return my('page2.html','Debug');
Аналог в html:
Код:
<a href="#" onClick="return my('page2.html','Debug');">Загрузить</a> </p>
http://zteam.ru/my/test/ajax/in4.html
Вот тестовая страничка. При клике по ссылке всё ок. По флэшке -нет

Старый 16.11.2007, 14:12
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 8  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 613
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
Используйте
Код:
getURL("javascript: return my('page2.html','Debug')");
И проверь разрешены ли скрипты (параметр AllowScriptAcsess) в html'ке

+я не понимаю зачем ты используешь ключевое слово return? если тебе надо получить какое-то значение, то такой способ не прокатит и нужен externalInterface.


Последний раз редактировалось Rzer; 16.11.2007 в 14:14.
Старый 16.11.2007, 14:15
vooparker вне форума Посмотреть профиль Отправить личное сообщение для vooparker Посетить домашнюю страницу vooparker Найти все сообщения от vooparker
  № 9  
Ответить с цитированием
vooparker
 
Аватар для vooparker

Регистрация: Apr 2006
Адрес: Kursk, Russia
Сообщений: 523
Отправить сообщение для vooparker с помощью ICQ
попробуй убрать из my строку:
Код:
return false;
и вызвать так:
Код:
ExternalInterface.call('my', 'page2.html','Debug');
__________________
Челябинские флешеры настолько суровы, что пишут код во Flash IDE

Старый 16.11.2007, 14:16
Antony_ вне форума Посмотреть профиль Отправить личное сообщение для Antony_ Найти все сообщения от Antony_
  № 10  
Ответить с цитированием
Antony_

Регистрация: Sep 2006
Сообщений: 11
Так так и делаю Не пашет. Скрипты разрешены, ибо через обычную ссыль всё проходит нормально.

Пример вызова через GetURL

код флэшки, в 1-м сообщении.


Последний раз редактировалось Antony_; 16.11.2007 в 14:19.
Создать новую тему Ответ Часовой пояс GMT +4, время: 03:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 03:43.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.