Просмотр полной версии : navigateToURL внутри фрейма
deGeneral
17.02.2012, 19:49
Добрый день!
Прошу не пинать сильно новичка, я только начал... Суть вопроса вот в чем: функция navigateToURL (даже при втором параметре "_self"!) открывает мне урл в новой вкладке браузера. Между тем, мне нужно всего лишь вывести содержимое некоего определенного урла во фрейм на той же странице, на которой работает и сам скрипт.
Делается ли такое и, если делается, то как?
Заранее спасибо!
deGeneral
18.02.2012, 15:04
Простите, а это что? Функция, библиотека? Где почитать, ткните хотя бы носом...
Добавлено через 13 минут
Нашел, прочитал. Класс, позволяющий вызывать на странице функции JavaScript. А чем это поможет мне в решении моей проблемы?
ExternalInterface.call - это метод класса ExternalInterface
С его помощью можно вызывать JavaScript на странице и передавать JS-функции аргументы.
Почитать в хелпе (http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html#call()) можно.
Добавлено через 4 минуты
Класс, позволяющий вызывать на странице функции JavaScript. А чем это поможет мне в решении моей проблемы?
А о каком фрейме шла речь? Кадр в ролике или HTML-фрейм на странице? Если о последнем, то напишите JS-функцию, которая выводит содержание нужного url и вызывайте ее с помощью ExternalInterface.call
deGeneral
18.02.2012, 15:41
Да, речь идет о HTML-фрейме. <iframe> если быть точнее...
Ну так как поступить, я вам описал.
Начните с написания JS-функции.
что-то вроде
<script type="text/javascript">
function setFrameContent()
{
var cont = document.getElementById('тут_id_фрейма');
cont.src = 'тут_ваш_url';
}
</script>
А потом вызываете еe из AS:
import flash.external.*;
ExternalInterface.call('setFrameContent');
Можно параметр передать, например
<script type="text/javascript">
function setFrameContent(url)
{
var cont = document.getElementById('тут_id_фрейма');
cont.src = url;
}
</script>
import flash.external.*;
ExternalInterface.call('setFrameContent', 'http://mysite.ru/content.htm');
Только нужно разрешить вызов скриптов из флешки
<param name="allowScriptAccess" value="always" />
и в <embed> тоже.
Аналогично, если используете для публикации SWFObject, думаю, разберетесь.
deGeneral
18.02.2012, 19:17
Большое спасибо!
Смысл понятен, попытаюсь реализовать.
Вобщем-то, почему занялся этой проблемой: прочитал, что вроде бы Flash не передает referer, если пользоваться getURL(url,"_self"). Но оказалось, что в 3.0 эта функция заменена на navigateToURL. И что, эти функции как-то по-разному работают? Странно как-то получается! Вот если я напишу navigateToURL(url,"_blank"), то чем тогда это будет отличаться от navigateToURL(url,"_self")? Я-то думал, что _self как раз и означает то самое window или frame, в которое помещен скрипт. А по результату действия получается одно и то же...
Что я неправильно понимаю?
deGeneral тебе mooncar привел примеры, которые ты можешь использовать, почему ты вцепился в navigateToURL? а еще что не задавать подобных вопросов, почитай тут (http://ac-sc.ru/flash/net/package.html#navigateToURL()) про navigateToURL
deGeneral
19.02.2012, 18:48
deGeneral тебе mooncar привел примеры, которые ты можешь использовать, почему ты вцепился в navigateToURL?
Спасибо большое! Я еще не попробовал, но, боюсь, его способом через JS referer таки передастся...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.