在防范XSS的时候,会有一些特例
比如正常情况下,以下代码是没法执行的,因为没有闭合script标签:
<script src="test.js">
但是,在IE下,以下代码可以成功执行:
<script async src="test.js">
请问,这里的async起到什么作用,能让浏览器不会因为没有闭合script标签而报错。
另外,在chrome或火狐下如何能实现不闭合script标签也能成功执行js?
在防范XSS的时候,会有一些特例
比如正常情况下,以下代码是没法执行的,因为没有闭合script标签:
<script src="test.js">
但是,在IE下,以下代码可以成功执行:
<script async src="test.js">
请问,这里的async起到什么作用,能让浏览器不会因为没有闭合script标签而报错。
另外,在chrome或火狐下如何能实现不闭合script标签也能成功执行js?
async
设置为true
的时候,代表在加载js
文件的同时,html
文件是同时在被解析的,当js
文件被加载完之后,就开始执行加载好的js
文件,这个时候html
文件的解析被挂起,只有当这个js
文件被执行完之后才继续进行html
文件的渲染。
13 回答12.8k 阅读
7 回答2k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答918 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
1.首先不推荐不闭合的script标签,在
javascript高级程序
一书中说道:2.关于async是个可选的参数,默认true,表示应当立即下载脚本,不会影响其他脚本和HTML的加载。
如果是async='false',则表示等到该脚本下载完毕后再执行其他操作,理解为同步。