Флэш-память изменения src с jQuery?

Привет у меня есть меню флэш-памяти, показывающее несколько ссылок, но когда пользователь зарегистрирован, я хочу изменить меню от menu1 до menu2... так, чтобы это отобразило "Мою Учетную запись", а не "Регистрацию"

Код ниже для моей флэш-памяти:

<div id="menu"> 
 <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="825" height="69" id="menu1" align="middle">
 <param name="allowScriptAccess" value="sameDomain" />
 <param name="allowFullScreen" value="false" />
 <param name="movie" value="menu1.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#ffffff" /> <embed src="menu1.swf" quality="high" wmode="transparent" bgcolor="#ffffff" width="825" height="69" name="menu1" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
 </object>
 </div>

Php:

if (loggedin())
 {

  echo '<script type="text/javascript">
   CHANGE FLASH LINK HERE
   </script>';  


 }

Это могло обойтись без необходимость написать весь вышеупомянутый код снова?

Спасибо :)

5
задан Elliott 13 May 2010 в 23:22
поделиться

2 ответа

Используйте .attr () :

$(document).ready(function() {
    $("#menu > object > embed").attr("src", "new link");
});
6
ответ дан 14 December 2019 в 13:29
поделиться

Если loggedin() - это проверка времени загрузки, выполняемая на стороне сервера, почему бы просто не изменить вывод из PHP?

<div id="menu"> 
    <?php if (loggedin()) { ?>
        <object ...> ...
            <param name="movie" value="menu2.swf" /> ...
        </object>
    <?php } else { ?>
        <object ...> ...
            <param name="movie" value="menu1.swf" /> ...
        </object>
    <?php } ?>
</div>

Если вы действительно должны сделать это из сценария, тогда да, вы должны создать новый объект Flash (с помощью innerHTML или методов DOM, или получить сценарий типа SWFObject, который сделает это за вас). Изменение источника объекта плагина - это не то, что можно надежно сделать кросс-браузерно (особенно в IE).

Возможно, лучше включить оба меню на страницу и просто использовать display, чтобы скрыть одно из них.

Почти наверняка лучше не использовать Flash-меню, которые, как правило, являются катастрофой для юзабилити, доступности и SEO. В jQuery встроено множество возможностей для анимации, а HTML5/CSS3/etc все больше способен на красивые эффекты. Флеш-меню - это так 2003 года.

0
ответ дан 14 December 2019 в 13:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: