# 浏览器/HTML 与 Qt Quick/QML

浏览器是呈现HTML并执行与HTML相关联的Javascript的运行时。如今,现代Web应用程序中包含的JavaScript要比HTML多得多。浏览器中的Javascript是一个标准的ECMAScript环境,并带有一些额外的浏览器API。浏览器内部的典型JS环境有一个名为window的全局对象,用于与浏览器窗口(标题、位置URL、DOM树等)进行交互。浏览器提供通过id、类(它们被jQuery使用来提供CSS选择器)等访问DOM节点的功能,最近也能被CSS选择器(querySelectorquerySelectorAll)使用。此外,有可能在一定时间(setTimeout)后重复(setInterval)调用函数。除了这些(和其他浏览器 API)之外,其环境类似于QML/JS。

另一个区别是:JS是如何出现在HTML和QML中的。在HTML中,只能在初始化页面加载期间或在事件处理器(例如页面加载、鼠标按下)中执行JS。例如,JS在页面加载时正常初始化,这与QML中的 Component.onCompleted相当。默认情况下,不能在浏览器中使用JS进行属性绑定(AngularJS通过增强了DOM树允许来这些操作,但这与标准HTML相去甚远)。

在QML中,JS更像是一等公民,并且更深入地集成到了QML的渲染树中,这使得语法更具可读性。除了这些差异之外,开发HTML/JS应用程序的人应该对使用QML/JS感到宾至如归。

最后更新: 2/1/2022, 6:02:16 PM