我想在 head 中同步加载 modernizr 以防止出现焦点。我在/body 之前使用 require.js 来加载一些其他脚本,我想在其中使用 modernizr 进行特征检测等。
这样做的正确方法是什么,或者是否建议这样做? 如果我在我的脚本中需要 modernizr,它会再次加载,如果我不需要,它是未定义的。
提前致谢。 :)
最佳答案
如果 Modernizr 是加载到 head 中的第一个脚本,那么它可以从任何地方访问,因此您可以像这样定义简单的包装器:
define('modernizr', function () { return window.Modernizr });
这段代码可以像这样放在 wrappers.js
中:
<head>
<script src="/js/vendor/modernizr.js"></script>
<script src="/js/vendor/require.js"></script>
<script src="/js/wrappers.js"></script>
<script src="/js/main.js"></script>
</head>
然后在 main.js 中
var scripts = document.getElementsByTagName('script')
, src = scripts[scripts.length - 1].src
, baseUrl = src.substring(src.indexOf(document.location.pathname), src.lastIndexOf('/'))
require.config({
baseUrl: baseUrl
})
关于javascript - 在 head 中加载 modernizr 但在 require.js 中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16279860/