0

我的头部有 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>
4

1 回答 1

0

您最好将所有脚本从head页面底部移到</body>. 这将使页面加载更好,因为加载 javascript 将阻止其他页面元素的并发加载,例如cssand 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 元素加载到页面时运行,这将产生意想不到的结果。

于 2010-02-02T02:01:58.137 回答