我在页面上的结束标记之前加载了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没有定义。 有没有解决的办法? 广告代码不会运行,除非它在头部,但我不能真正将jquery移动到头部,因为我在多个站点上有这个并且可能影响其他插件的运行方式?
答案 0 :(得分:3)
为什么不使用这样的东西:
if (document.documentElement.clientWidth < 727) {
mob = 1;
}
答案 1 :(得分: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
}
});
})();