一些 HTML 与 JS 的小技巧
最近笔者在学习前端设计的时候,知道了很多实用的小技巧,于是决定写一篇文章总结一下。
use strict
在一些脚本中,你或许会在最前面看到单独的一行 "use strict"
,这是严格模式的声明。
严格模式对正常的 JavaScript 语义做了一些更改:
- 严格模式通过抛出错误来消除了一些原有静默错误。
- 严格模式修复了一些导致 JavaScript 引擎难以执行优化的缺陷:有时候,相同的代码,严格模式可以比非严格模式下运行得更快。
- 严格模式禁用了在 ECMAScript 的未来版本中可能会定义的一些语法。
JavaScript 传递参数
这是一种向外部 JS 文件传入参数的方法。在 HTML 中写入1
<script data-flag="1" src="example.js"></script>
在 example.js
中写入1
2
3
4var scripts = document.getElementsByTagName("script"),
script_len = scripts.length,
script = scripts[script_len - 1],
flag = script.getAttribute("data-flag");
这样即可获取 data-flag
的值,可以说是非常的巧妙了。
如果不考虑 IE 的支持,也可以直接使用1
var script = document.currentScript;
dataset
除了使用1
var flag = script.getAttribute("data-flag");
还有另一种方法可以获得 HTML 标签中形如 data-*
的属性的值,那就是 dataset
。与上面等价的写法是1
var flag = script.dataset.flag;
<noscript>
标签
<noscript>
标签最初是为那些不支持 JavaScript 的上古浏览器而设计。如今,对于停用了 JavaScript 的用户,这个标签可能非常有用。1
2
3
4
5<noscript>
<div style="background-color: #5C5C5C; position: fixed; bottom: 50px; left: 80px; opacity: 0.95; border-radius: 15px; color: #FFFFFF;">
<p style="margin: 15px; max-width: 400px;">系统检测到您的浏览器禁用了JavaScript。为了保障您的浏览体验,请启用JavaScript。</p>
</div>
</noscript>
<a>
标签的 download
属性
设置 <a>
标签的 download
属性,可以在点击该链接时下载目标,即 href
属性指向的超链接。
该属性也可以设置一个值来规定下载文件的名称。所允许的值没有限制,浏览器将自动检测正确的文件扩展名并添加到文件。例如:1
<a href="https://www.example.com//images/2017/10/example.jpg" download="logo">
支持该属性的浏览器会将其保存为 logo.jpg
。