2

我在页面的结束标记之前加载了 jQuery。

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>

我的大部分js都加载在这个下面

    <script src="js/script.js" type="text/javascript"></script>

哪个效果很好。我需要在 head 标记中运行一些广告代码。这通常工作正常但是我想添加一个响应异常。例如

    var mob = 0;
    if(jQuery(window).width() < 727)  {
        mob = 1;
    }
    if(mob)  {console.log('run special mob related code');}
    else {console.log('run special desktop related code');}

因为我的代码在我得到错误 ReferenceError: jQuery is not defined。有没有解决的办法?广告代码不会运行,除非它在头部,但我不能真正将 jquery 移动到头部,因为我在多个站点上都有这个,并且可能会影响其他插件的运行方式?

4

2 回答 2

3

为什么不直接使用这样的东西:

if (document.documentElement.clientWidth < 727) {
mob = 1;
}
于 2013-08-07T01:23:30.223 回答
1

在代码的早期,您可以在对象上定义一个jQuery属性,window当实际的 jQuery 对象重新分配它时,它将运行需要 jQuery 的代码。

(function(){
  var _jQuery;
  Object.defineProperty(window, 'jQuery', {
    get: function() { return _jQuery; },
    set: function($) {
      _jQuery = $;

      // put code or call to function that uses jQuery here

    }
  });
})();
于 2016-05-18T20:47:50.047 回答