在文档末尾有条件地加载脚本

时间:2011-02-02 12:42:41

标签: javascript

我只想在窗口大小合适的情况下加载jquery和循环插件。这将在以后更改为仅加载桌面浏览器。 如果我将此代码放在结束体标记之前,它在FF和IE中工作正常,但在chrome中则不行。 如果我将代码放在头部,它适用于所有浏览器。 如何放置在文档末尾时才能使其工作?

http://dl.dropbox.com/u/426954/allora/index.html

  if (document.documentElement.clientWidth > 600) {
    window.onload = function() {
    //load jquery
      var j = document.createElement('script');
    j.setAttribute( 'src', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js');
    document.getElementsByTagName("head")[0].appendChild( j );

    //load cycle plugin
      var c = document.createElement('script');
    c.setAttribute( 'src', 'http://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.latest.js');
    document.getElementsByTagName("head")[0].appendChild( c );

    //load custom script
      var elScript = document.createElement('script');
    elScript.setAttribute( 'src', 'js/script.js');
    document.getElementsByTagName("head")[0].appendChild( elScript );
    }   
    }

2 个答案:

答案 0 :(得分:3)

所以只需把它放在头上。仅仅因为性能指南要求你把它们放在脚本的底部并不意味着把它们放在头脑中是一种罪过。在这种情况下,你不会失去任何性能,因为它所做的就是为onload事件分配一个处理程序,它将等到DOM加载后才能运行

答案 1 :(得分:2)

使用此

$(document).ready(function() {

});

而不是

window.onload

并将“if”放入功能