使用RequireJS会导致JavaScript插入的文本在每个请求(FOUT)上闪烁。
在main.js中:
require.config({
paths: {
'jquery': 'libs/jQuery-2-0-3'
}
});
require(['jquery'],
function ($) {
$(document).ready(function () {
// this div is inserted shortly after the page is loaded
$('#formWrapper').prepend('<div>testing</div>')
});
});
头标记中的HTML:
<script type="text/javascript">
var require = {
baseUrl: "/script/",
deps : ['main']
};
</script>
<script src="/script/require.js"></script>
当我在没有RequireJS的情况下做同样的事情时,我根本没有闪烁:
<script type="text/javascript" src="/script/libs/jQuery-2-0-3.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#formWrapper').prepend('<div>testing</div>')
});
</script>
在Chrome和Safari中最为明显。