Где поставить SWFObject в JQuery - PullRequest
       49

Где поставить SWFObject в JQuery

0 голосов
/ 02 февраля 2010

У меня есть 2 javascript в моем разделе головы. Теперь я хочу разместить функцию embedSWF внутри первого скрипта. Только я не уверен где ..

        <!-- JQUERY Functions -->
    <script type="text/javascript"> 
        jQuery.noConflict();
        jQuery(document).ready(function() {
            // alert('DOM ready');
        });
        window.onload = function() {
            // alert('page completely loaded');
        }
    </script>

    <!-- write SWF -->
    <script type="text/javascript">
        function outputStatus(e) {
            if (!e.success) { // alert('NO flash, alternative content'); 
            } 
            else { // alert('flash embedded successfully'); 
            }
        }
        var flashvars = {};
        var params = {}
        swfobject.embedSWF("test.swf", "album-wrap", "930", "530", "9.0.0", "js/expressInstall.swf", flashvars, params, null, outputStatus); 
    </script>

1 Ответ

0 голосов
/ 02 февраля 2010

Вам лучше переместить весь скрипт с head вниз страницы, над </body>. Это улучшит загрузку страницы, так как загрузка javascript будет блокировать одновременную загрузку другого элемента страницы, такого как css и image, что более необходимо, чем код js.

Чтобы поместить код swfobject, безопаснее поместить его в готовый блок jQuery DOM.

function outputStatus(e) {
  if (!e.success) {
    // alert('NO flash, alternative content'); 
  } 
  else {
    // alert('flash embedded successfully'); 
  }
}

jQuery(function($) {
  // alert('DOM ready');
  var flashvars = {};
  var params = {}
  swfobject.embedSWF("test.swf", "album-wrap", "930", "530", "9.0.0", "js/expressInstall.swf", flashvars, params, null, outputStatus);
});

Это обеспечит запуск swfobject после загрузки всех необходимых DOM. Если вы сделаете это вне блока, то он может иметь вероятность выполнения, все еще ожидая загрузки требуемого элемента DOM на страницу, что даст неожиданный результат.

...