当我更改 Home Assistant 的主题时(通过单击用户个人资料中的单选按钮,demo),如果我正确阅读源,它会调用 fireEvent。
我想从浏览器的控制台调用它,但如果我这样做
fireEvent(this, "settheme", { True });
我明白了
VM1775:1 Uncaught ReferenceError: fireEvent is not defined
at <anonymous>:1:1
如何使用此功能?稍后我将从 TamperMonkey 脚本中调用此函数。
JS文件中使用了以下代码:
https://raw.githubusercontent.com/home-assistant/frontend/20240906.0/src/common/dom/fire_event.ts:
declare global {
// eslint-disable-next-line
interface HASSDomEvents {}
}
export type ValidHassDomEvent = keyof HASSDomEvents;
...
export const fireEvent = <HassEvent extends ValidHassDomEvent>(
...
import { fireEvent } from "../../common/dom/fire_event";
该函数应该存在于浏览器的“全局”范围内,即
window
。因此,暂时将 fireEvent
添加到 window
范围应该可以解决问题。
import { fireEvent } from "../../common/dom/fire_event";
window.fireEvent = fireEvent;