![]() |
Flash +AJAX
Бось ошибиться разделом. так что больно не бейте.
Поиск юзал, не нашел. Итак, суть вопроса. совместное использование FLASH и асинронных запросов. Есть html-ка Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">есть about.swf Код:
on (press){Код:
<a href="#" onclick="return xHttp('page2.html','Debug')">Загрузить</a>Кстати,есть еще вариации, вызов через: Код:
on (press){Подскажите как быть? |
не совсем понятно зачем для асинхронных запросов AJAX использовать, когда можно тем же AS все решить.
Дальше: Код:
getURL("return xHttp('page2.html','Debug') ");И последнее если появится необходимость переслать данные из js в as такой подход с getURL ничего не даст, так что мой совет почитать про ExternalInterface. |
Прошу прощения, прокасячил с копированием )
Код:
getURL("javascript: return xHttp('page2.html','Debug') ");Пытался сделать, но опять же наверное не правильно. Код:
import flash.external.ExternalInterface;Если не сложно поправте или просто напишите как правильно. Цитата:
И это всё стало работать через через ссылку а через swf невкакую |
а js вообще вызывается из swf?
|
Конечно. В этом нет проблемы Дело в том. что видимо не проходит
Код:
return false; |
попробуйте так:
Код:
var result:Boolean = ExternalInterface.call("function () {return true;}"); |
Это работает.
Мне нужно вызывать вот такую строчку Код:
return my('page2.html','Debug');Код:
<a href="#" onClick="return my('page2.html','Debug');">Загрузить</a> </p>Вот тестовая страничка. При клике по ссылке всё ок. По флэшке -нет :( |
Используйте
Код:
getURL("javascript: return my('page2.html','Debug')");+я не понимаю зачем ты используешь ключевое слово return? если тебе надо получить какое-то значение, то такой способ не прокатит и нужен externalInterface. |
попробуй убрать из my строку:
Код:
return false;Код:
ExternalInterface.call('my', 'page2.html','Debug'); |
Так так и делаю :) Не пашет. Скрипты разрешены, ибо через обычную ссыль всё проходит нормально.
Пример вызова через GetURL код флэшки, в 1-м сообщении. |
Цитата:
Может класс неправильно подгружаю? Код:
on (press) { |
return все еще присутствует.
Мораль такова, очень сложно придумывать варианты почему не работает только по "положительному" или "не положительному" результату. И еще объясните зачем засовывать во все функции return false? |
Нету там "return false" это возвращает JS скрипт.
Могу вам выложить исходники чего угодно. return false запихивается. потомучто иначе не работает AJAX. http://zteam.ru/my/test/ajax/in2.html Посмотрите исходник страницы. там два варианта. Это и будет ответ на ваш вопрос. |
=) а да нафиг не нужен return false; Он используется чтобы не вызывать перегрузки страницы при нажатии на ссылку <a>:
Код:
<a href="javascript:callServer('page2.html', 'targetDiv');"> Page2</a> |
Не понял вас :)
Но без return false страничка как бы "закрывается обратно" Если что код самого скрипта тут: http://zteam.ru/my/test/ajax/ajax/ajax.js |
почему у тебя не работает без return false; А происходит следующее ты кликаешь на ссылку и вызывается js-функция, после этого так как это ссылка происходит перевод по ней, в твоем случае ты просто перезагружаешь страницу (так <a href="" ... что означает что страница ссылается на саму себя), чтобы это не происходило и приписывают return false; Если ты воспользуешься способом приведенным выше то можешь смело убирать return false;
|
Спасибо огромное! ссыль заработала. Но флэшка попрежнему не пашет.
Попробовал сделать вот так: Код:
getURL( "javascript:callServer('page2.html', 'my');","_self"); |
если ты про страницу in2 то там ужо ошибка другого рода, запрос проходит и возвращается странице, посмотри снифером и убедишься сам, ошибка в другом, по какой то причине до функции showHTML не доходит id дива в который нужно загруженную инфу вставить.
Попробуй так, хотя есть вариант что все равно будет ошибка Код:
getURL("javascript:callServer('page2.html', 'targetDiv');"); |
Аааааа С П А С И Б О!!!!!
Кажись заработало!!! :yahoo: :drinks: ОГРОМНЫЙ РЕСПЕКТ ВАМ!!!!!! |
| Часовой пояс GMT +4, время: 05:33. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.