飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • UEditor使用文档
  • AngularJS教程
  • ThinkPHP5.0教程

浏览器内JavaScript可以做什么?不能做什么?

时间:2021-11-24  作者:匿名  

浏览器内 JavaScript 可以做什么?

现代 JavaScript 是一种“安全”的编程语言。它不提供对内存或 CPU 的低级访问,因为它最初是为不需要它的浏览器创建的。

JavaScript 的能力很大程度上取决于它运行的环境。例如,域名支持允许 JavaScript 读/写任意文件、执行网络请求等的功能。

浏览器内 JavaScript 可以执行与网页操作、与用户交互和网络服务器相关的所有工作。

例如,浏览器内 JavaScript 能够:

向页面添加新的 HTML,更改现有内容,修改样式。

对用户操作做出反应,在鼠标点击、指针移动、按键时运行。

通过网络向远程服务器发送请求,下载和上传文件(所谓的AJAX和COMET技术)。

获取和设置 cookie,向访问者提问,显示消息。

记住客户端(“本地存储”)上的数据。

浏览器中的 JavaScript 不能做什么?

为了用户的安全,JavaScript 在浏览器中的能力是有限的。目的是防止恶意网页访问私人信息或损害用户数据。

此类限制的示例包括:

网页上的 JavaScript 可能无法读取/写入硬盘上的任意文件、复制它们或执行程序。它无法直接访问操作系统功能。

现代浏览器允许它处理文件,但访问是有限的,并且只有在用户执行某些操作时才提供,例如将文件“放入”浏览器窗口或通过<input>标签选择它。

有多种方式可以与相机/麦克风和其他设备进行交互,但它们需要用户的明确许可。因此,启用 JavaScript 的页面可能不会偷偷启用网络摄像头、观察周围环境并将信息发送给NSA。

不同的选项卡/窗口通常彼此不了解。有时他们会这样做,例如当一个窗口使用 JavaScript 打开另一个窗口时。但即使在这种情况下,如果来自一个页面的 JavaScript 来自不同的站点(来自不同的域、协议或端口),它们也可能无法访问另一个页面。

这被称为“同源策略”。要解决这个问题,两个页面必须同意数据交换并包含处理它的特殊 JavaScript 代码。我们将在教程中介绍。

这个限制也是为了用户的安全。http://域名用户打开的页面必须不能访问带有 URL 的另一个浏览器选项卡http://域名并从那里窃取信息。

JavaScript 可以轻松地通过网络与当前页面来自的服务器进行通信。但是它从其他站点/域接收数据的能力被削弱了。尽管可能,它需要来自远程端的明确同意(以 HTTP 标头表示)。再一次,这是一个安全限制。

如果 JavaScript 在浏览器之外使用,例如在服务器上,则此类限制不存在。现代浏览器还允许可能要求扩展权限的插件/扩展。

是什么让 JavaScript 独一无二?

JavaScript至少有三件很棒的事情:

与 HTML/CSS 完全集成。

简单的事情做的很简单。

所有主要浏览器都支持并默认启用。

JavaScript 是唯一结合了这三者的浏览器技术。

这就是 JavaScript 的独特之处。这就是为什么它是用于创建浏览器界面的最广泛工具的原因。

也就是说,JavaScript 还允许创建服务器、移动应用程序等。

标签:JavaScriptJS
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。