我使用Modernizr加载ressources来构建jQuery布局。 问题是我无法检索我的$('body')。layout()变量,因为它在一个加载的资源中(在script / webframe.js中)。我试过了:
var myLayout;
function loadDefaultLayout() {
Modernizr.load([{
load: ['stylesheets/jquery.layout.css',
'script/jquery.layout.min.js',
'script/webframe.js'],
complete: function () {
myLayout = onDesktopWebFrameLoadComplete();
}
}]);
alert(myLayout.options.west.resizable);
}
onDesktopWebFrameLoadComplete位于script / webframe.js中并返回布局。
我尝试移动警报(myLayout.options.west.resizable);就在onDesktopWebFrameLoadComplete之后,警报显示为true。但是当我将它移出load()作用域时,我有一个未定义的错误(对于myLayout变量)。
我的问题是: 我想知道是否可以在Modernizr.load()完整的函数范围之外检索变量。
答案 0 :(得分:0)
我的问题只是我没有在正确的html文件中定义我的全局变量,该文件从JavaScript文件调用该函数。
总结一下。在其他所有事情之前以这种方式定义变量:
window.myLayout;
然后添加将更改变量的资源(包含load()函数)
在此资源中更改您的变量:window.myLayout =" something-else";
您现在可以在包含资源的html文件中使用它。