首页 > 解决方案 > 用 Angular 提供通用的 JavaScript 功能?

问题描述

有没有办法在 Angular App 中提供全局 JavaScript 函数,可以由非 Angular JS 代码调用?

背景:我们的 Angular 应用程序在 Qt 应用程序的 web 视图中运行。现在我们正在研究提供 API 的可能性,以便 Qt 应用程序可以调用 Angular 应用程序的函数。

标签: javascriptangularqtqwebview

解决方案


任何前端 javascript 代码(包括 Angular)都可以访问全局对象windowdocument. 您可以将任何功能或属性添加到这 2 个中。

window.myAPI = {
   doIt: function () {...},
   doItBetter: function () {...}
}

我对 QT WebView 不熟悉,所以我无法帮助您了解是否可以访问windowdocument从 QT 代码中获取。我宁愿期望你能。

作为另一种解决方案 - https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage。不知道 QT 代码是否可以对这些消息做出反应。


推荐阅读