用 jade 在 html 中
link(rel="stylesheet",href="/stylesheets/index/index.css")
script(src="/javascripts/assets/jquery_loader.js")
script(src="/javascripts/assets/bootstrap/bootstrap.js")
如果 IE 是浏览器,我将使用 modernizr 加载 zepto 或 jquery
Modernizr.load(
{
test: /(msie) ([\w.]+)/.test(navigator.userAgent),
yep: '/javascripts/assets/jquery/jquery-1.9.1.min.js',
nope: '/javascripts/assets/zepto/zepto.min.js',
complete:function()
{
if(!window.jQuery)
{
Zepto.browser = {webkit: true}
window.jQuery = Zepto
}
}
});
我收到这个错误
Uncaught TypeError: undefined is not a function
(anonymous function) bootstrap.js:60
在线:60
}(window.jQuery);
我尝试用 modernizr 加载 bootstrap
Modernizr.load(
{
test: /(msie) ([\w.]+)/.test(navigator.userAgent),
yep: ['/javascripts/assets/jquery/jquery-1.9.1.min.js','/javascripts/assets/bootstrap/bootstrap.js'],
nope: ['/javascripts/assets/zepto/zepto.min.js','/javascripts/assets/bootstrap/bootstrap.js'],
complete:function()
{
if(!window.jQuery)
{
Zepto.browser = {webkit: true}
window.jQuery = Zepto
}
}
});
错误消失但 Bootstrap 不工作 所以我在控制台测试
typeof $().modal == 'function'
结果为'false',这意味着 Bootstrap 不从服务器下载
我该如何解决这个问题??发送
最佳答案
我用这个脚本解决了这个问题,谢谢大家!
Modernizr.load(
{
test: /MSIE ([0-9]{1,}[\.0-9]{0,})/.test(navigator.userAgent),
yep: '/javascripts/assets/jquery/jquery-1.9.1.min.js',
nope: '/javascripts/assets/zepto/zepto.min.js',
complete:function()
{
if(!window.jQuery)
{
Zepto.browser = {webkit: true}
window.jQuery = Zepto
console.log('Zepto')
}
Modernizr.load(
{
load:'/javascripts/assets/bootstrap/bootstrap.js',
complete:function()
{
console.log('Loaded!')
},
})
},
});
关于javascript - 在 Zepto Undefined 中使用 bootstrap 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16160755/