Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Подмена flash с использованием ajax |
Автор: dmeet 26.9.2008, 07:49 |
Известно, что flash-объект размещается на странице примерно вот таким образом: <div id="flash"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="flash_width" height="flash_height"> <param name="movie" value="flash_path" /> <param name="quality" value="high" /> <param name="menu" value="false" /> <param name="wmode" value="" /> <embed src="flash_path" wmode="" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="flash_width" height="flash_height"></embed> </object> </div> Имеется несколько флэшек, которые необходимо менять по нажтию на определенную кнопку/ссылку БЕЗ ПЕРЕЗАГРУЗКИ страницы. Пытался делать асинхронный запрос, размещая по нажатию на ссылку скрипт в теле документа: <script src="target.php"></script>. В скрипте target.php писал следующее: echo <<< txt var ajax_block=document.getElementById("flash"); ajax_block.getElementsByTagName("embed")[0].setAttribute("src","new_flash_path.swf"); ajax_block.getElementsByTagName("param")[0].setAttribute("value","new_flash_path.swf"); txt; Работать не хочет. В инспекторе DOM аттрибуты тэгов <param> и <embed> (value и src соответственно) по клику на ссылку заменяются на путь к новой флэшке. Но на странице остается старая флэшка. Хотя организованная таким образом подмена изображений пашет, и подгрузка данных происходит. Подскажите, если кто сталкивался, в чем проблема и как ее решить? Одновременную загрузку всех флэшек, и показ при нажатии на ссылку какой - то определенной предлагать не нужно. |
Автор: bars80080 26.9.2008, 09:29 |
интересно, а если ajax_block.getElementsByTagName("embed")[0].setAttribute("src","new_flash_path.swf"); заменить на ajax_block.getElementsByTagName("embed")[0].src = "new_flash_path.swf"; покатит? |
Автор: dmeet 26.9.2008, 10:06 |
Так тоже не пашет. Да и не в этом дело. Говорю же. После клика на ссылку аттрибуты scr и value (<param="movie" />) меняются на нужные. Только почему - то новая флэшка не спешит грузиться. Наверное дело в самой методике. Но все равно, спасибо. Мож кто забредет, кто сталкивался... |
Автор: bars80080 26.9.2008, 11:06 |
значит остаётся два варианта: либо запихивать её в iframe и перезагружать только её, либо уже средствами самого флэш делать перезагрузку мувика |
Автор: yurik_l 27.9.2008, 02:08 |
еще вариант - использование innerHTML: http://codingforums.com/archive/index.php?t-70818.html |