为了账号安全,请及时绑定邮箱和手机立即绑定

关于script的defer属性问题

关于script的defer属性问题

一直想不明白script的defer这个属性,看了视频和文档都说只有IE浏览器兼容这个defer属性,其他浏览器都不兼容。我在head里面引入两个js文件,如下:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script defer="defer" type="text/javascript" src="js/defer.js"></script> <script async="async" type="text/javascript" src="js/async.js"></script> </head> <body> <p>script只有IE浏览器支持defer属性,而async主流浏览器都支持</p> <p>我是html里的文字</p> </body></html>defer.js就是alert("defer");async.js就是alert("async");经测试,在360浏览器和谷歌浏览器,都是先弹出了defer,再弹出async;但是在IE浏览器是先弹出了async,再弹出defer,我想这应该就是验证了defer只兼容IE的说法。于是问题来了,为什么有时候在head里面引用了某些js文件,会报错(因为是先执行了js,没有加载到html文件),但是这时候在script标签加了defer=“defer”就没报错了(非IE浏览器下),不是说defer只兼容IE吗?真的想不明白啊究竟defer这个属性是只兼容IE吗?但是我有看到有些文章说目前IE已经兼容了其他主流浏览器,那又怎么解释我上面的alert测试例子呢?
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 1389 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信