avalon只能在head引入脚本?IE8,9资源文件加载两次!
avalon2(v2.2.8)只能在head引入脚本吗?
在body引入脚本的情况下,IE8,9下出现了js文件被加载两次的情况。
如下代码,两个js文件在network下查看都被加载了两次
<head>
<meta charset="utf-8">
</head>
<body>
<div>这是首屏静态内容</div>
<div>这是vm模板内容</div>
<script type="text/javascript" src="https://unpkg.com/avalon2@2.2.8/dist/avalon.js"></script>
<script type="text/javascript" src="http://underscorejs.org/underscore-min.js"></script>
</body>
都移到head标签中后正常,但我的首屏问题如何解决呢?
<head>
<meta charset="utf-8">
<script type="text/javascript" src="https://unpkg.com/avalon2@2.2.8/dist/avalon.js"></script>
<script type="text/javascript" src="http://underscorejs.org/underscore-min.js"></script>
</head>
<body>
<div>这是一些静态内容,需要首屏的高性能</div>
<div>这是vm模板内容</div>
</body>
这样的话,underscore也会被加载两次。
<head>
<meta charset="utf-8">
<script type="text/javascript" src="https://unpkg.com/avalon2@2.2.8/dist/avalon.js"></script>
</head>
<body>
<div>这是一些静态内容,需要首屏的高性能</div>
<div>这是vm模板内容</div>
<script type="text/javascript" src="http://underscorejs.org/underscore-min.js"></script>
</body>
我觉得这是一个很常见的业务场景,我并不想把所有脚本都放在head中引入,但不放head里却在IE8,9下表现异常,请问该如何解决这个问题呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
思来想去觉得是解析body内的vm模板后又把编译后html重写入body内导致的。
所以我看了下源码,默认在avalon.ready后scan了body,注释掉了这句,然后自行修改如下后解决了问题:
<body>
</body>
最后想 @司徒正美 老师,这个默认scan body的逻辑有点不太通用,能否开放到配置里去呢?