JS--script标签注意细节
1)在使用<script>标签嵌入js代码时,记住不要在代码中的任何地方出现</script>字符串。例如:
<script type="text/javascript">
function sayScript(){
alert("</script>");
}
</script>
按照解析嵌入式代码的规则,当浏览器遇到字符串</script>时,会被认为那是结束的</script>标签。
解决办法是使用转移字符 \ 斜杠
alert("<\/script>")
2)避免缺少</script>结束标签
虽然在XHTML中,<script type="text/javascript" src="example.js"/>这种省略了</script>的写法可以正常解析的,但是在HTML文档里这种语法,是不符合HTML规范的,得不到某些浏览器的正确解析,尤其是IE。
3)<noscript>元素
浏览器不支持脚本
浏览器支持脚本,但是脚本被禁用了
那么就可用<noscript>标签来显示相关内容了。
<noscript>
<p>本页面需要浏览器支持或启用JavaScript。</p>
</noscript>
4)通过script的src属性还可以包含来自外部域的JS文件。
这里需要注意,当访问自己不能控制的服务器上的js文件,需要多加小心,如果遇到恶意攻击文件,随时会把js文件源代码替换成攻击代码。
5)执行顺序
无论如何放置script标签,以及内部代码,只要不存在defer和async属性,浏览器都会按照script元素在页面中的出现先后顺序对他们一次解析。
JS--script标签注意细节的更多相关文章
- js——<script>标签的加载顺序
用了很久的JavaScript,今天突然就碰见了将一个js文件放在<head></head>与<body></body>标签中,一个不可以执行,一个可以 ...
- 关于html中的 script标签中的 代码写法有效性? easyui tabs的href不能载入内容页面
script标签, 即 html中的 js脚本区域中: 它其实就是一个 普通的 html标签, 在 html 渲染器 parser 看来, 它跟其他任何的普通 的 html标签 , 比如 p 标签, ...
- 完整的JavaScript包括三部分、script标签、JavaScript的基本语法以及变量和字面量的关系
完整的JavaScript包括三大部分: -ECMAScript JavaScript的开发规范:提供核心语言功能 -DOM document object model 文档对象模型:提供 ...
- javaScript中的小细节-script标签中的预解析
首先介绍预解析,虽然预解析字面意思很好理解,但是却是出坑出的最多的地方,也是bug经常会有的地方,利用好预解析的特性可以解决很多问题,并且提高代码的质量及数量,浏览器在解析代码前会把变量的声明和函数( ...
- GZip压缩的js文件IE6下面不能包含<script>标签
IE6下面,GZip压缩的js文件,如果js中包含<script>标签,一遇到这样的标签,后面的内容居然都截断了,狂晕! 花了我一个晚上来找原因.. 需要将字符串'<script&g ...
- JS之script标签
1.script标签的位置 script标签可以在head标签中,也可以在body标签中 2.async属性 async的目的是不让页面等待js文件的下载和执行,从而异步加载页面中的其他内容.只支持外 ...
- js中的script标签
在页面中用script标签引入javascript文件(<script type="text/javascript" src="js文件地址">&l ...
- 为什么不能在 body 标签的前面的 script 标签中定义 JS 全局变量?
<!DOCTYPE html> <!-- 为什么不能在 body 标签的前面的 script 标签中定义 JS 全局变量? 在全局环境下的代码就是在页面加载阶段从上到下一边加载一边执 ...
- 在html代码中js的script标签建议放在那里?
今天编写了一个简单的js代码,F12有错误,然后发现是<script>放的位置有问题.之前在我的印象当中,说的是这个标签放在哪里都可以,然而...并不是这样的,例如我现在练习的这个代码,写 ...
- js 手动插入meta标签和script标签
// 插入 meta 标签 var oMeta = document.createElement('meta'); oMeta.content = 'width=device-width, initi ...
随机推荐
- linux中date命令显示
1. date用来显示具体的日期和24进制的时间 [jasmine.qian@ ~]$ date Fri Jan 25 14:17:17 CST 2019 [jasmine.qian@ ~]$ dat ...
- ASP.net 网站开发知识点总结
一.常用技术概括及介绍 1. SQL server:处理数据库的设计 2. asp.net 3. html :前端网页 4. css :网页的布局设计 5. JavaScrip ...
- [原][osg][osgearth]倾斜摄影1.介绍
总体介绍: 倾斜摄影就是将拍好的数据,三角网格化再附上贴图. 目前流行处理软件: Street Factory.PIX4DMapper.smart3D 后期开发平台:超图 Skyline smart3 ...
- Java——HashMap
获取数组长度 数组.length 获取下标 HashMap HashMap 构造函数 // 默认构造函数. HashMap() // 指定“容量大小”的构造函数 HashMap(int capacit ...
- SqlServer中exists和in的区别
1.in 2.exists
- 如何在Vue项目中使用vw实现移动端适配(转)
有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页面的终端适配>提出了Flexible的布局方案,随着viewport单位越来越 ...
- legend2---开发日志3(thinkphp的入口目录是public的体现是什么)
legend2---开发日志3(thinkphp的入口目录是public的体现是什么) 一.总结 一句话总结:需要深刻理解程序的入口和入口位置都在public目录这里,比如读写文件的初始目录都在这,获 ...
- Backup and Recovery Types
Physical(Raw) and Logical Backup: 1.Physical backups consist of raw copies of the directories and fi ...
- English trip V1 - 11.What's That? 那是什么?Teacher:Patrick Key:There's/There are
In this lesson you will learn to describe the position of an object. 在本课中,您将学习如何描述对象的位置. 课上内容(Lesson ...
- LeetCode--026--删除排序数组中的重复项
问题描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...